Anteriormente (cerca de 5 meses atrás), tudo estava funcionando bem, agora, em vez de @app index.html ser veiculado.
O mesmo problema na versão nginx: 1.6.2 e 1.8
Este é o meu /etc/nginx.conf
http {
include mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name localhost;
root /opt/app/server/html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html;
}
}
include /etc/nginx/conf.d/*.conf;
}
Este é o meu /etc/nginx/conf.d/user_example.conf
server {
listen 80;
server_name user.example.com;
root /home/user/webapps/;
location / {
try_files $uri $uri/ @app; (removed index.html;)
}
location @app {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:9000;
}
}
Alguém poderia me explicar por que @app é ignorado?
Isso pode ser outra pergunta, mas ...
Se eu remover /home/user/webapps/index.html
e ir para user.example.com
, recebo 403 Forbidden
. E eu quero 'executar' proxy_pass de @app, o que eu preciso mudar?
Configuração alterada - mas ainda gostaria de saber como usar esse local nomeado.
server {
listen 80;
server_name user.example.com;
root /home/user/webapps/;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:9000;
}
}
O problema não foi a localização nomeada @app
mas $uri/
permissões erradas sobre o diretório /home/user/webapps
. Problema resolvido.