nginx try_files y múltiples bloques de ubicación

nginx try_files y múltiples bloques de ubicación

Tengo 2 dominios, cada uno con su propia raíz de documentos. La raíz de un dominio contiene las carpetas de imágenes y documentos a los que quiero acceder a través del otro dominio. Entonces domain1.com/pics/house.jpg y domain2.com/pics/house.jpg mostrarían la misma imagen.

A continuación se muestra un extracto del archivo de configuración para el dominio2. No funciona: siempre obtengo un 404 cuando accedo a la imagen en la raíz del dominio1 en el dominio2. Agradecería cualquier sugerencia sobre cómo reescribir esto para solucionarlo. Gracias

root /home/admin/domain2.com/html;

index index.php index.html;

location /pics/ {
       root /home/admin/domain1.com;
}

location /docs/ {
       root /home/admin/domain1.com;
}

location / {
        try_files $uri $uri/ =404;
}

location ~ \.php$ {
       include snippets/fastcgi-php.conf;
       fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}

Respuesta1

Resulta que mi código no funcionó en los casos en los que /pics/ contenía más carpetas. Usar lo siguiente funcionó.

location ^~ /pics/ {
       root /home/admin/domain1.com;
       # Queries beginning with /pics/ and then stops searching.
}

información relacionada