Nginx部署时发现的问题

本文介绍了在SSH项目中使用Nginx配置服务时常见的两个问题及其解决方案:一是如何正确配置Nginx以处理action请求;二是当Nginx监听端口非默认80端口时,如何设置才能使后端应用正确获取实际的客户端IP地址和端口号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值