配置参考:
location /ws/wschat {
proxy_pass http://localhost:8080/ws/wschat;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass_header X-XSRF-TOKEN;
proxy_set_header Origin "http://localhost:8080";
proxy_read_timeout 3600s;
}
上述配置的timeout超时时间为一个小时
官方说明 403错误问题处理,spring security
location中配置
default_type “text/html”;
http中配置
server_tokens off;
client_max_body_size 50M; 值设置为0表示不限制
nginx -t #测试配置是否有语法或者解析异常
nginx -s reload #刷新配置
http://lavafree.iteye.com/blog/1559183
location / {
proxy_pass http://localhost:8080/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ^~ /resource/ {
alias ../../project/projectname/src/main/webapp/_resource/;
}
location ^~ /resource/ {
root ../../project/projectname/src/main/webapp/;
}
使用alias可以将resource映射为其他目录,windows路径要使用相对路径(不支持绝对路径)
注意root和alias的区别
root,”/resource/img/123.png”最终访问目录全路径为$nginx_home/../../project/projectname/src/main/webapp/resource/img/123.png;
即文件会把root对应的目录作为根目录
alias, “/resource/img/123.png”最终访问目录全路径为$nginx_home/../../project/projectname/src/main/webapp/_resource/img/123.png;
即文件目录/resource/会被替换为$nginx_home/../../project/projectname/src/main/webapp/_resource/;
由此可以得出结论,root映射只能映射到同名目录,但是alias可以映射到非同名目录,可以实现将/resource/映射到/_resource/目录下
ngx_http_proxy_module代理模块中一些默认配置可能会影响应用的执行逻辑。
例如:proxy_set_header的Host,默认值为$proxy_host,$proxy_host的值获取的是proxy_pass的值,会导致host和预想中不一致。
如下配置:
listen 80;
server_name localhost;
location / {
proxy_pass http://localhost:8080/;
}
那么request header中的host值为localhost:8080,而如果request header中有referer的话,referer的值会是”http://localhost/xxx/xxx?xxx=xxx”