armbian 启用nginx并设置访问密码

发布于:2025-08-02 ⋅ 阅读:(20) ⋅ 点赞:(0)

确认磁盘挂载状态

运行以下命令检查磁盘是否已正确挂载:

ls /sda1
ls /sdb1

若未挂载,执行挂载操作:

sudo mkdir -p /sda1 /sdb1
sudo mount /dev/sda1 /sda1
sudo mount /dev/sdb1 /sdb1

使用lsblk验证分区情况。

创建Nginx配置文件

编辑新配置文件:

sudo nano /etc/nginx/sites-available/disk-share

插入以下配置内容:

cat /etc/nginx/sites-available/disk-share
server {
    listen 89;
    server_name localhost;

    # 重定向 /sda1 -> /sda1/
    location = /sda1 {
        return 301 /sda1/;
    }

    location = /sdb1 {
        return 301 /sdb1/;
    }

    # 目录浏览
    location /sda1/ {
        alias /sda1/;
        autoindex on;
        autoindex_localtime on;
    }

    location /sdb1/ {
        alias /sdb1/;
        autoindex on;
        autoindex_localtime on;
    }

    location ~ /\. {
        deny all;
    }
}

保存文件并退出编辑器。

激活配置

移除默认配置并启用新配置:

sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/disk-share /etc/nginx/sites-enabled/

测试与重启服务

验证配置语法:

sudo nginx -t

若测试通过,重启服务:

sudo systemctl restart nginx

访问文件共享

通过浏览器访问:

http://<设备IP>/sda1/
http://<设备IP>/sdb1/

添加访问控制

安装工具并设置密码:

sudo apt install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd username

在配置文件中添加:

server {
    listen 80;
    server_name localhost;
    charset utf-8;

    location = /sda1 {
        return 301 /sda1/;
    }

    location /sda1/ {
        alias /sda1/;
        autoindex on;
        autoindex_localtime on;

        # 🔐 密码保护开始
        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/.htpasswd;
        # 🔐 密码保护结束
    }

    location /sdb1/ {
        alias /sdb1/;
        autoindex on;
        autoindex_localtime on;
        charset utf-8;

        # 🔐 密码保护开始
        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/.htpasswd;
        # 🔐 密码保护结束
    }

    location ~ /\. {
        deny all;
    }
}

故障排查

查看实时错误日志:

sudo tail -f /var/log/nginx/error.log


网站公告

今日签到

点亮在社区的每一天
去签到