怎么用Tomcat实现IP限制访问

怎么用Tomcat实现IP限制访问,第1张

1 全局设置,对Tomcat下所有应用生效server.xml中添加下面一行,重启服务器即可:<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/> 此行放在</Host>之前。例:

(1)只允许192.168.1.10访问:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10" eny=""/>

(2)只允许192.168.1.*网段访问:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/>

(3)只允许192.168.1.10、192.168.1.30访问:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10,192.168.1.30" deny=""/>

(4)根据主机名进行限制:

<Valve className="org.apache.catalina.valves.RemoteHostValve" allow="abc.com" deny=""/>

2 局部设置,仅对具体的应用生效根据项目配置情况进行设置:

(1)使用conf目录下xml文件进行配置${tomcat_root}\conf\proj_1.xml

(2)直接在server.xml中进行设置${tomcat_root}\conf\server.xml 在上述文件对应项目的</Context>前增加下面一行:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/>

 Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的。更好的硬件,更多的处理器都会使Tomcat支持更多的并发。

Tomcat默认的HTTP实现是采用阻塞式的Socket通信,每个请求都需要创建一个线程处理,当一个进程有500个线程在跑的话,那性能已经是很低很低了。Tomcat 默认配置的最大请求数是150,也就是说同时支持150个并发。具体能承载多少并发,需要看硬件的配置,CPU 越多性能越高,分配给JVM的内存越多性能也就越高,但也会加重GC的负担。当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群。

操作系统对于进程中的线程数有一定的限制:

Windows 每个进程中的线程数不允许超过 2000

Linux 每个进程中的线程数不允许超过 1000

在Java中每开启一个线程需要耗用1MB的JVM内存空间用于作为线程栈之用,此处也应考虑。

此种情况多半原因为防火墙规则限制导致,借用一下CSDN上的朋友的答案,参考如下:

1.控制面板-》windows防火墙-》高级设置;

2.右键“入站规则”,点击“新建规则”,选择端口,点击下一步

3.选择tcp,勾选“特定本地端口”,这里填写的端口号是tomcat开放的端口号,比如说8080,点击下一步;

4.点击“允许连接”,点击下一步;

5.点击下一步;

6.名称随便填写,方便阅读即可,比如填写tomcat,点击完成;

然后重新打开浏览器,输入ip地址+端口号+项目名称,即可访问。

补充:如果是win2003和winXP系统的设置方法一样,但这2个与win8以上略有不同,win2008和win2012设置方法一样。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/62462.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-28
下一篇2023-02-28

发表评论

登录后才能评论

评论列表(0条)

    保存