SO = Debian 11
Eu editei o padrãonginx(versão 1.18.0, instalado a partir do repositório Debian) configuração conforme abaixo:
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;
}
}
para servir meus arquivos baixados comqbittorentcontêiner docker no protocolo HTTP. No entanto, recebo um404 não encontradoerro quando visito /torrent/
ou /torrent/some_folder/some_name.some_extension
.
Se for importante, eles têm rw-r--r--
permissão e são de propriedade, docker_qbit:docker
embora o servidor web seja instalado por umsudoer.
Responder1
O que está acontecendo é que o usuário NGINX não tem permissão para percorrer o diretório especificado em seu alias.
Seus requisitos indicam que não podemos alterar as permissões no diretório de destino.
A única solução que vejo seria adicionar o nginx
usuário principal (www-data) ao docker
grupo. Dessa forma, o servidor web deverá poder acessar o diretório especificado sem alterar sua permissão.
Se o usuário nginx padrão no Debian 11 for www-data
.
Supondo que seja esse o caso, o comando para fazer isso ficaria assim:
usermod -a -G docker www-data
Esse comando modificará o usuário “www-data” adicionando-o ao grupo “docker”.
Para ter certeza de qual usuário está executando o nginx, você pode observar a saída deste comando:
ps -eo user,comm | grep nginx
Depois de concluído, você pode recarregar o nginx e ver se o conteúdo já está disponível.
systemctl reload nginx
Responder2
Obrigado a todos. O problema foi omitido logo /
após o endereço na alias
diretiva.