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

[经验分享] Apache 2.2 Tomcat 6 绑定域名,禁止IP直接访问

[复制链接]

尚未签到

发表于 2018-12-3 10:43:17 | 显示全部楼层 |阅读模式
  最近公司的web项目开发结束了.然后使用的外网服务器是双线独立主机.在百般周折的弄好了域名智能DNS后.又出现了新问题.我们公司网通的ip被恶意解析了.愁啊.麻烦事一个接着一个.原来外网服务器用的web服务器是GlassFish v3.1.总的来说glassfish给我的印象还是不错的.速度不错.和系统的结合也比较好.虽然要求程序的语法比较严格.但是同样也保证了运行的稳定性.但是因为相关资料太少了.怎么也找不到关于glassfish防恶意解析方面的资料(难道没有这个功能?  -_-!).如果哪个高手知道怎么设置还请多多指教!!!
  万般无奈的情况下.换回了Apache+Tomcat组合.换这个组合的原因有很多.主要是因为网上相关资料多,便于查找.Apache2.2本身内置了mod_proxy模块,可以直接整合tomcat.配置上比jk等配置简单多了.因为现在公司的项目还处在推广和优化阶段.所以用mod_proxy连接方式足够了.并且没感到和jk相比有什么不同.至少不像网上说的mod_proxy的稳定性要比jk差.
  下面进入正题:
  所需软件:
  1.httpd-2.2.19-win32-x86-no_ssl.msi (Apache 2.2.19安装包)
  2.apache-tomcat-6.0.32.exe (Tomcat 6.0.32安装包)
  (此处说明一下,选择tomcat6.0.32安装包而不选择zip包的原因在于,第一web服务器,安装包以后可以作为服务.而且调用jvm-server版本.比较稳定.第二.安装包可以不必配置环境变量,懒人做法^_^.)
  安装过程不在复述了.简单的不得了.默认一路next就好,喜欢自定义的要记住自己修改过的路径.....
  全部安装完毕后.首先,找到Apache的conf目录.找到里面的httpd.conf(比如我的安装默认安装路径是D:\Apache\Apache2.2)
  编辑httpd.conf,
  搜索找到# LoadModule proxy_module modules/mod_proxy.so和# LoadModule proxy_ajp_module modules/mod_proxy_ajp.so去掉前面的#号(也就是注释符号),使之生效.然后向下找到# LoadModule rewrite_module modules/mod_rewrite.so也是去掉注释的#号,这个模块是为了后面讲到的防恶意解析用到的.
  激活了3个模块.然后在httpd.conf最后面添加ProxyPass / ajp://localhost:8009/和ProxyPa***everse / ajp://localhost:8009/两行,目的是整合tomcat.这里的8009是tomcat里面ajp的配置端口号.可以根据个人情况更改.我这里就使用默认的了.
  tomacat和apache的整合就结束了.下面还要改一个地方,找到#Include conf/extra/httpd-vhosts.conf,去掉#号使之生效.补充一下.这里是选择性的.因为我个人还是比较崇尚低耦合.解构明确,功能清楚的程序结构的.所以我把httpd-vhosts.conf激活并使用.虚拟主机全部在httpd-vhosts.conf配置.当然也可以不激活.直接在httpd.conf里面配置.全凭个人喜好....
  下面来编辑tomcat.
  我的tomcat默认安装在D:\Apache\Tomcat6.所需要编辑的文件是tomcat里的conf下的server.xml
  打开server.xml
  在末尾的host后面紧接着再添加两个代码如下:
  
  你的带www的域名

    
  
  你的带www的域名

    
  原理很简单.为你的两个顶级域名建立程序关联.修改好后保存退出就可以了
  下面要修改的是Apache里面D:\Apache\Apache2.2\conf\extra的httpd-vhosts.conf文件.也就是通过这个文件来实现屏蔽ip和防恶意解析的.
  首先.删除里面所有内容.然后添加一下内容:
  NameVirtualHost *:80               //这里不能少.要不然Apache不启动
  
  ServerName 电信ip
  
  Order Allow,Deny
  Deny from all
  
  
  
  ServerName 网通ip
  
  Order Allow,Deny
  Deny from all
  
  
  
  ServerName 带www的域名
  ServerAlias   子域名,多个子域名中间用空格隔开
  #这里规定了能访问项目的域名和子域名.凡是这里没有的域名或者子域名.ip等等.都不能访问
  DocumentRoot "工程路径"
  
  AllowOverride All
  Order allow,deny
  Allow from all
  Options -Indexes
  
  
  好了.经过上面的配置就可以实现双线主机的域名绑定和ip过滤及防恶意解析了.很简单的方法.
  ps:注意.用mod_proxy方法一定要先启动apache.在启动tomcat.如果tomcat已经启动,要关掉tomcat再启动apache.否则apache会读取不正确.
  本文为纯原创,如果觉得文章不错.转载时请注明转载地址!
  http://blog.163.com/sxr_y/blog/static/178992137201151101037473
  ===============我的最终实施过程==============
  1.1.      安装Apache
  下载Apache(http://httpd.apache.org/download.cgi),当前最新版apache2.2.22。
  然后直接安装下载的“httpd-2.2.22-win32-x86-no_ssl.msi”,点击“下一步”直到完成。
  1.2.      Apache连接Tomact
  使用mod_proxy连接方式连接Tomcat。
  一)    修改Tomcatserver.xml文件
  1.        将文件中Connector port="80"部分的端口改成8080;
  2.        确定AJP连接端口,这里是8009,
  
  二)    修改Apachehttpd.conf文件
  1.        在Apache安装目录找到httpd.conf文件,去掉如下两行的注释:
  LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
  2.        在httpd.conf文件的最后添加(8009为tomcat的AJP监听端口):
  ProxyPass / ajp://localhost:8009/
  ProxyPa***everse / ajp://localhost:8009/
  三)   测试连接情况
  1.        先启动Apache,再启动Tomcat。
  2.        访问http://localhost:8080/examples ,如能正常打开,说明Tomcat运行正常。
  3.        访问http://localhost/examples,如能正常打开,说明Apache和Tomcat连接成功
  注意:
  用mod_proxy方法一定要先启动apache,再启动tomcat。如果tomcat已经启动,要关掉tomcat再启动apache.否则apache会读取不正确
  1.3.      配置禁止IP访问
  一)    修改Apachehttpd.conf文件
  在httpd.conf文件的最后添加如下行:
  NameVirtualHost *:80
  #禁止121.14.103.45访问
  
  ServerName 121.14.103.45:80
  
  Order deny,allow
  Deny from all
  
  
  #允许www.edhic.com和 www.dh.csg.sn 访问
  
  ServerName www.edhic.com
  ServerAlias www.dh.csg.sn
  
  AllowOverride All
  Order allow,deny
  Allow from all
  
  
  tomcat部分几乎无需修改


运维网声明 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-642721-1-1.html 上篇帖子: 配置tomcat对软连接的支持 下篇帖子: Linux下Tomcat添加为系统服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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