
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.html
en lugar de /var/www/app/index.html
.
Sé que esto podría solucionarse de la rewrite
siguiente 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)