首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当服务来自/opt的另一个用户拥有的静态文件时

当服务来自/opt的另一个用户拥有的静态文件时
EN

Server Fault用户
提问于 2023-03-06 16:02:57
回答 2查看 112关注 0票数 1

OS = Debian 11

我编辑了默认的nginx (版本1.18.0,安装自Debian存储库)配置,如下所示:

代码语言:javascript
复制
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安装的。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2023-03-10 09:10:45

多亏了所有人。在/指令中的地址后面省略了这个问题。

票数 0
EN

Server Fault用户

发布于 2023-03-06 16:50:56

正在发生的情况是,NGINX用户没有遍历您在别名中指定的目录的权限。

您的要求表明我们不能更改目标目录的权限。

我看到的唯一解决方案是将主nginx (www-data)用户添加到docker组中。这样,way服务器应该能够访问指定的目录,而无需更改其权限。

如果Debian 11上默认的nginx用户是www-data

假设是这样的话,执行此操作的命令如下所示:

代码语言:javascript
复制
usermod -a -G docker www-data

该命令将修改用户"www-data“,将它们添加到组"docker”中。

要确定哪个用户正在运行nginx,您可以查看这个命令的输出:

代码语言:javascript
复制
ps -eo user,comm | grep nginx

一旦完成,您可以重新加载nginx并查看内容现在是否可用。

代码语言:javascript
复制
systemctl reload nginx
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1125459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档