作業系統 = 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 協定上的 docker 容器。但是,我得到了404 未找到當我訪問/torrent/
或時出錯/torrent/some_folder/some_name.some_extension
。
如果重要的話,儘管網路伺服器是由安裝者安裝的,但這些都具有rw-r--r--
許可並歸其所有。docker_qbit:docker
須藤呃。
答案1
發生的情況是 NGINX 使用者無權遍歷您在別名中指定的目錄。
您的要求表明我們無法更改目標目錄的權限。
我看到的唯一解決方案是將主要nginx
(www-data)使用者新增到docker
群組中。這樣網路伺服器應該能夠存取指定的目錄而不改變其權限。
如果 Debian 11 上的預設 nginx 使用者是www-data
.
假設是這種情況,執行此操作的命令如下所示:
usermod -a -G docker www-data
該命令將透過將使用者「www-data」新增至「docker」群組來修改使用者「www-data」。
要確定哪個使用者正在執行 nginx,您可以查看此命令的輸出:
ps -eo user,comm | grep nginx
完成後,您可以重新載入 nginx 並查看內容現在是否可用。
systemctl reload nginx
答案2
謝謝大家。該問題被省略在指令/
中的位址後面alias
。