Nginx的try_files作用:按选项所指定的顺序去检查用户请求的文件是否存在,如果本地存在的话则返回该请求;不存在的话将该请求转发到指定的其他路径
location / {
try_files $uri @java_page;
}
location @java_page {
proxy_pass http://127.0.0.1:8080
}
实例:用nginx代理wiki
使用proxy_pass 会有一些图片加载不出来
使用try_files可以完美解决
vi conf/wiki_proxy.conf
proxy_connect_timeout 30s;
proxy_send_timeout 120;
proxy_read_timeout 120;
proxy_buffer_size 32k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_redirect off;
proxy_hide_header Vary;
proxy_set_header Accept-Encoding '';
proxy_set_header Host $host;
proxy_set_header Referer $http_referer;
proxy_set_header Cookie $http_cookie;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
配置
server {
listen 80;
server_name wiki.example.com;
location / {
try_files $uri @confluence;
}
location @confluence {
internal;
proxy_pass http://127.0.0.1:8090;
include wiki_proxy.conf;
}
}