Raíz de múltiples documentos con nginx

Raíz de múltiples documentos con nginx

Necesito configurar nginx para que proporcione un software diferente desde una raíz de documento diferente en el subdirectorio de un dominio de la siguiente manera:

http://example.com/... - main site from /var/www/main
http://example.com/docs/ - an independent application from /var/www/app

Probé de muchas maneras, incluidas proxy_pass y alias, pero ninguna funcionó para mí. La última configuración es la siguiente:

server {
        listen 80;
        server_name example.com;
        root /var/www/main;
        index index.html;

        location /docs/ {
           root /var/www/app;
        }
}

Cuando intento accederhttp://ejemplo.com/docs/Veo el error 404 no encontrado y el siguiente mensaje en error_log:

*1 "/var/www/app/docs/index.html" no se encuentra (2: No existe dicho archivo o directorio

Entonces intenta abrirse /var/www/app/docs/index.htmlen lugar de /var/www/app/index.html.

Sé que esto podría solucionarse de la rewritesiguiente manera: rewrite ^/docs/(.*)$ /$1 last;. Funciona para mí pero también reescribe todos los enlaces relativos a todos los activos, por lo que no es el caso.

Actualizar:

1) mi problema con alias:

location /docs/ {
   autoindex on;

   alias /var/www/app/;
}

"/var/www/app/index.html" no se encuentra (2: no existe dicho archivo o directorio)

2) Problema con proxy_pass:

    location /docs/ {
       proxy_pass: http://127.0.0.1:8080;
    }

...
server {
    listen 8080;
    server_name localhost;

    root   /var/www/app;
    index  index.html;
}

El error es el siguiente:

/var/www/app/docs/index.html" is not found (2: No such file or directory)

información relacionada