设为首页 收藏本站
查看: 623|回复: 0

[经验分享] Tomcat限制用域名访问,拒绝ip访问

[复制链接]

尚未签到

发表于 2017-2-6 12:13:25 | 显示全部楼层 |阅读模式
  今天跑了几个月的项目被要求不能用ip访问,只能通过域名来访问。工信部一声号召,多少服务器托管商的电话忙碌得要死,最最苦逼的是我们这些码农啊,敲代码辛苦吧?现在还得让你干点偏活,得把ip访问限制住,而且错误页面都要指定,这也太无理取闹了吧。网上找了好久,也算是弄好了,分享一下,让大家都可以参考一下。
  

  思维其实很简单,就是在你的虚拟主机配置两个host,一个是你注册的域名,一个是你的服务机的ip地址:
  假设你现在的ip地址是:192.168.0.1,域名是:www.jacob.Ye.com;需要指定的项目名在:wapapps/ranChart
  

  那么配置tomcat的时候,就应该这样配,首先为了满足不能通过ip来指定我们的网站(貌似百度都可以,为什么工信部就不让我们小网站存活呢),最好默认的defaultHost不指定到网站的<Host:

<Engine name="Catalina" defaultHost="www.google.com.hk">
<Host name="www.jacob.Ye.com"  appBase="webapps/ranChart"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host name="192.168.0.1"  appBase="webapps/errorApps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>


默认指到其他工程,我这里是故意将defaultHost指向www.google.com.hk。为什么加一个192.168.0.1的<Host 呢?这里是为了扑捉到通过在浏览器敲ip的用户,然后做自己想要的处理。本人被idc商要求要指定到一个这样的界面:
   DSC0000.jpg

  为了这一无理取闹的要求,只有配一个真实的app给它,appBase="webapps/errorApps" ,这是一个可用的工程,就是工程下面是一个ROOT文件夹,里面有META-INF,WEB-INF两个文件夹,在WEB-INF文件夹下面添加一个web.xml,内容为:

<?xml version="1.0" encoding="utf-8"?>
<web-app version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>



再回到ROOT文件夹下面,添加一个index.html,内容为:

<h1>Bad Request (Invalid Hostname)</h1>
  


一句话,就可以了。  这样做的目的,是为了展示一个页面给用户。一个错误的请求,在谷歌浏览器上面看可以,但是在ie上看就会看到404了,所以说这个要求其实是很无理取闹的要求。
  

  这样就可以实现限制通过ip来访问你的项目了。并且可以指定到自己想要指定的页面。
  

  希望对大家有帮助。有不会的地方或者疑问,可以留言指出。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-338372-1-1.html 上篇帖子: tomcat request.getParameter() 研究,api解读,以及解码解释 下篇帖子: Solr4.0 tomcat集群和elasticSearch一些事
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表