SO = Debian 11
He editado por defectonginx(versión 1.18.0, instalada desde el repositorio de Debian) configuración como se muestra a continuación:
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 mis archivos descargados conqbittorentContenedor acoplable en protocolo HTTP. Sin embargo, obtengo un404 No encontradoerror cuando visito /torrent/
o /torrent/some_folder/some_name.some_extension
.
Si es importante, estos tienen rw-r--r--
permiso y son propiedad de docker_qbit:docker
aunque el servidor web está instalado por unsudoejem.
Respuesta1
Lo que sucede es que el usuario de NGINX no tiene permiso para recorrer el directorio que ha especificado en su alias.
Sus requisitos indican que no podemos cambiar los permisos en el directorio de destino.
La única solución que veo sería agregar el nginx
usuario principal (www-data) al docker
grupo. De esa manera, el servidor web debería poder acceder al directorio especificado sin cambiar su permiso.
Si el usuario nginx predeterminado en Debian 11 es www-data
.
Suponiendo que ese sea el caso, el comando para hacer esto se vería así:
usermod -a -G docker www-data
Ese comando modificará el usuario "www-data" agregándolo al grupo "docker".
Para estar seguro de qué usuario está ejecutando nginx, puede consultar el resultado de este comando:
ps -eo user,comm | grep nginx
Una vez completado, puede recargar nginx y ver si el contenido ya está disponible.
systemctl reload nginx
Respuesta2
Gracias a todos. El problema se omitió /
después de la dirección en la alias
directiva.