禁止外网直接访问tomcat8080端口

我的项目是nginx+tomcat部署的。既然要走nginx,为了安全起见,我想要禁止用户直接访问tomcat端口,在网上查了一下,因为可以通过设置iptables防火墙实现。但我不想用这种方式,还用另一种方式是在tomcat的conf目录下的server.xml进行配置。具体是在里面配置:

因为我的nginx和tomcat是部署在一台服务器上,所以首先想到配置IP为127.0.0.1,但测试发现不行,8080端口是不能访问了,但不带端口也不能访问了。我又把配置改成内网地址192.168.*.*,发现还是不行。最后改成了外网IP地址,这次可以了!

我猜测原因可能是tomcat获取到的nginx传过来的host是域名,而域名会被解析成公网IP,而不是内网IP。所以allow里配置内网IP导致nginx的访问也被拒绝。


你可能感兴趣的:(Nginx,Java)