nginx 在浏览器中代理访问 linux 文件
blog
本文字数:689 字 | 阅读时长 ≈ 2 min

nginx 在浏览器中代理访问 linux 文件

blog
本文字数:689 字 | 阅读时长 ≈ 2 min

博主想在浏览器中访问 linux 服务器中的部分文件,即目录浏览,这样可以选择性的下载

1. 启动目录浏览

编辑 /etc/nginx/sites-available/default 文件,修改 location 的配置

location /weibo/ {
    alias /root/bark-python/girlfriend/; # 就是要进行目录浏览的那个目录,一般用绝对路径指定
    autoindex on;  # 是否开启目录浏览on/off
    autoindex_exact_size off; # 是否不转换文件大小,默认on,文件大小就是一个很大的数字;off,将文件大小格式化成熟悉的G、M、KB,方便查看
    autoindex_localtime on; # 目录浏览会展示最新修改时间,on表示使用本地时间,off表示使用UTC时间,默认off
    # try_files $uri $uri/ =404;
}

修改完毕后重启 nginx,执行 service nginx restart

2. 浏览器访问

我这里输入 http://your_ip/weibo/,就可以成功访问了,内容如下

3. 设置访问密码

启用目录浏览后,所有用户均可访问,有时候我们需要一些权限控制,输入正确的账号密码后才能访问,安装 htpasswd 来实现

安装 htpasswd: sudo apt install apache2-utils
生成用户和密码: htpasswd -c /usr/local/nginx/password username
删除用户和密码: htpasswd -D /usr/local/nginx/password username

➜  nginx sudo htpasswd -c /etc/nginx/htpasswd wangyh
New password: 
Re-type new password: 
Adding password for user wangyh

将上述文件修改为如下

location /weibo/ {
    alias /root/bark-python/girlfriend/; # 就是要进行目录浏览的那个目录,一般用绝对路径指定
    autoindex on;  # 是否开启目录浏览on/off
    autoindex_exact_size off; # 是否不转换文件大小,默认on,文件大小就是一个很大的数字;off,将文件大小格式化成熟悉的G、M、KB,方便查看
    autoindex_localtime on; # 目录浏览会展示最新修改时间,on表示使用本地时间,off表示使用UTC时间,默认off
    auth_basic "Account and Password is Required";
    auth_basic_user_file /etc/nginx/htpasswd;
    # try_files $uri $uri/ =404;
}

4. 访问错误

1. 端口未放行

执行 curl http://localhost:80/weibo,如果本地能够返回,浏览器返回不了,表示 80 端口被禁了,开启端口即可

2. 403 Forbidden

说明启动 nginx 的用户权限不够,上面的 location 命令没有执行,修改 /etc/nginx/nginx.conf 文件中的内容,将其中 user 后面的 www-data 改为 root,保存,重启 nginx 即可

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

3. 404 Not Found

文件不存在,查看一下是不是路径错了

12月 14, 2023
8月 10, 2022
10月 06, 2021