1、在开发SSH项目时,nginx配置服务时,没把action也配置进去,nginx没有转发action请求。
原来如下:
#JSP直接给tomcat处理,因为nginx并不是servlet容器,没办法处理JSP
location ~ .*\.(jsp|do)$ {
proxy_pass http://mysvr ;
#以下是一些反向代理的配置可删除.
proxy_redirect off;
#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header Host $host:9999;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
修改成如下(添加了action):
#JSP直接给tomcat处理,因为nginx并不是servlet容器,没办法处理JSP
location ~ .*\.(jsp|do|action)$ {
proxy_pass http://mysvr ;
#以下是一些反向代理的配置可删除.
proxy_redirect off;
#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header Host $host:9999;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
2、nginx修改不是监听80端口(默认)时,如修改成9999端口,后台获取的端口还是80端口,这个是nginx要在设置真实IP和端口时也要加上修改的端口。
原来如下:
#JSP直接给tomcat处理,因为nginx并不是servlet容器,没办法处理JSP
location ~ .*\.(jsp|do|action)$ {
proxy_pass http://mysvr ;
#以下是一些反向代理的配置可删除.
proxy_redirect off;
#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
修改后如下:
#JSP直接给tomcat处理,因为nginx并不是servlet容器,没办法处理JSP
location ~ .*\.(jsp|do|action)$ {
proxy_pass http://mysvr ;
#以下是一些反向代理的配置可删除.
proxy_redirect off;
#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header Host $host:9999;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}