404 al servir archivos estáticos propiedad de otro usuario desde /opt

404 al servir archivos estáticos propiedad de otro usuario desde /opt

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:dockeraunque 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 nginxusuario principal (www-data) al dockergrupo. 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 aliasdirectiva.

información relacionada