Раньше (около 5 месяцев назад) все работало хорошо, сейчас вместо @app обслуживается index.html.
Та же проблема в версии nginx: 1.6.2 и 1.8
Это мой /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;
}
Это мой /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;
}
}
Может ли кто-нибудь объяснить мне, почему @app пропущено?
Хм, это может быть другой вопрос, но ... Если я удалю /home/user/webapps/index.html
и перейти к user.example.com
я получил 403 Forbidden
. И я хочу "выполнить" proxy_pass из @app, что мне нужно изменить?
Конфигурация изменена - но все же хотелось бы знать, как использовать это указанное местоположение.
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;
}
}
Проблема заключалась не в названном месте @app
но $uri/
неправильные разрешения для каталога /home/user/webapps
. Задача решена.