OS = Debian 11
我编辑了默认的nginx (版本1.18.0,安装自Debian存储库)配置,如下所示:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location /torrent/ {
autoindex on;
alias /opt/docker/qbittorrent/downloads;
}
}在HTTP协议上使用qbittorent容器向我下载的文件提供服务。但是,当我访问/torrent/或/torrent/some_folder/some_name.some_extension时,我会得到一个404未找到的错误。
如果重要,它们具有rw-r--r--权限,由docker_qbit:docker拥有,尽管web服务器是由_sudo_er安装的。
发布于 2023-03-10 09:10:45
多亏了所有人。在/指令中的地址后面省略了这个问题。
发布于 2023-03-06 16:50:56
正在发生的情况是,NGINX用户没有遍历您在别名中指定的目录的权限。
您的要求表明我们不能更改目标目录的权限。
我看到的唯一解决方案是将主nginx (www-data)用户添加到docker组中。这样,way服务器应该能够访问指定的目录,而无需更改其权限。
如果Debian 11上默认的nginx用户是www-data。
假设是这样的话,执行此操作的命令如下所示:
usermod -a -G docker www-data该命令将修改用户"www-data“,将它们添加到组"docker”中。
要确定哪个用户正在运行nginx,您可以查看这个命令的输出:
ps -eo user,comm | grep nginx一旦完成,您可以重新加载nginx并查看内容现在是否可用。
systemctl reload nginxhttps://serverfault.com/questions/1125459
复制相似问题