以前(大约 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
。我想从@app“执行”proxy_pass,我需要更改什么?
更改了配置 - 但仍然想知道如何使用该命名位置。
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
。问题解决了。