用Tomcat实现IP限制访问只能域名访问

转载 2017年12月06日 16:21:32
nginx代理了tomcat端口,
location / {
		proxy_pass http://127.0.0.1:8088/;
		  #proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header Host $http_host; 
        proxy_set_header X-Forward-For $remote_addr; 
        }
此时域名和ip:8088都可以访问,为了不让ip:8088访问,设置如下
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1" deny=""/>


Tomcat供了两个参数供你配置:RemoteHostValve 和RemoteAddrValve,前者用于限

制主机名,后者用于限制IP地址
通过配置这两个参数,可以让你过滤来自请求的主机或IP地址,并允许或拒绝哪些主机/IP。

一、全局设置,对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" deny=""/>
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=""/>

二、局部设置,仅对具体的应用生效
根据项目配置情况进行设置:
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=""/>

特别需求:测试版本不想提供别人访问
打开tomcat6\conf\server.xml文件
如果是要限制整个站点别人不能访问,则要将
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*,192.168.2.*,*.mysite.com" deny=""/>
加入到<HOST></HOST>标签中
如果是要限制某个站点不能被访问,则要加入到<Context>里面就可以。

<Context path="/myweb" reloadable="true" docBase="E:\tomcat6\webapps\myweb">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.13.110,192.168.1.*,220.250.13.21" deny=""/>
< /Context>

RemoteHostValve
根据主机名进行限制:
<Valve className="org.apache.catalina.valves.RemoteHostValve" allow="tmachine1" deny=""/>
修改文件:
tomcat/conf/server.xml
通过tomcat限制ip访问

web安全tomcat tomcat禁止ip直接访问

key: tomcat禁止ip直接访问 设置Tomcat不允许通过IP直接访问 更改host节点后虚拟目录设置失效  发现内部ip泄露模式   1、若公布于外网的服务器IP地址未备案,就有...

Tomcat限制用域名访问,拒绝ip访问

今天跑了几个月的项目被要求不能用ip访问,只能通过域名来访问。工信部一声号召,多少服务器托管商的电话忙碌得要死,最最苦逼的是我们这些码农啊,敲代码辛苦吧?现在还得让你干点偏活,得把ip访问限制住,而且...
  • zranye
  • zranye
  • 2012年07月13日 18:37
  • 8815

Nginx+Tomcat实现单IP、多域名、多站点的访问

最近帮朋友做了两个网站,预算很小很小.小到两个网站只能跑在一台512M内存的公网服务器上(tomcat+mysql,由于内存太小了,只能把两个网站部署在同一个tomcat上),每个网站有自己的域名,初...

nginx+tomcat实现单IP,多域名,多站点的访问配置教程

简介:其实这个问题分为两个子问题来解决:1.如何实现单IP多tomcat站点2.对于多域名的多个站点如何通过nginx分发访问问题一:解决方案又分为两种:a.单实例tomcat配置多个host站点这种...

Nginx+Tomcat实现单IP、多域名、多站点的访问

最近帮朋友做了两个网站,预算很小很小.小到两个网站只能跑在一台512M内存的公网服务器上(tomcat+MySQL,由于内存太小了,只能把两个网站部署在同一个tomcat上),每个网站有自己的域名,初...

1.8.1 Nginx+Tomcat实现单IP、多域名、多站点的访问

vim /etc/hosts 127.0.0.1   localhost localhost4 localhost4.localdomain4 www.test.com www.test.cn #u...

nginx+多tomcat实现单IP、多域名、多站点的访问

其实这个问题分为两个子问题来解决:   1.如何实现单IP多tomcat站点   2.对于多域名的多个站点如何通过nginx分发访问   问题一:解决方案又分为两种:   a.单实例tomca...

nginx+tomcat实现单IP,多域名,多站点的访问

其实这个问题分为两个子问题来解决: 1.如何实现单IP多tomcat站点 2.对于多域名的多个站点如何通过nginx分发访问 问题一:解决方案又分为两种: a.单实例tomca...

Nginx+Tomcat实现单IP、多域名、多站点的访问

最近帮朋友做了两个网站,预算很小很小.小到两个网站只能跑在一台512M内存的公网服务器上(tomcat+MySQL,由于内存太小了,只能把两个网站部署在同一个tomcat上),每个网站有自己的域名,初...

Tomcat中实现IP访问限制

 Tomcat中的ip访问限制,即设置允许某个(或某些)客户端能够访问到tomcat服务器,或不能访问tomcat服务器。 网上资料不多,特在此说明,以下配置,都经过JDiy测试无误后发表。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用Tomcat实现IP限制访问只能域名访问
举报原因:
原因补充:

(最多只允许输入30个字)