Apache + Tomcat +mod_jk 限制域名、IP访问

 

问题:  1: 限制其他域名解析到指定IP            2: 禁止IP直接访问 

 

方法: 通过Apache配置虚拟主机 vhost  ,说白点   就是以 虚拟主机和反向代理协议来 实现 

 1: 参考下Apahce官网vhost配置

http://httpd.apache.org/docs/2.0/vhosts/examples.html

2:  服务器Apache    conf/httpd.conf  

    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
     加载httpd-vhosts.conf配置文件,也是去掉#
     Include conf/extra/httpd-vhosts.conf

 3:conf/extra/httpd-vhosts.conf 

NameVirtualHost *:80


<VirtualHost *:80>                        
ServerName www.ceshi.com
ServerAlias www.ceshi.com
DirectoryIndex index.html index.htm index.jsp login.jsp
#转发url上的请求  '/'替换后者请求
ProxyPass / ajp://192.168.1.254:8099/ retry=3        
#设置反向代理重新重定向Header头参数值
ProxyPassReverse / ajp://192.168.1.254:8009/ retry=3   
ErrorLog "logs/www.ceshi.com-error.log"
</VirtualHost>


<VirtualHost *:80>                        
ServerName www.ceshi123.com
DocumentRoot "D:/apache/htdocs"
ErrorLog "logs/www.ceshi123.com-error.log"
<Directory "D:/apache/htdocs">
  Options -Indexes FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>
</VirtualHost>


<VirtualHost *:80>                        
ServerName 192.168.1.254
DocumentRoot "D:/apache/htdocs"
ErrorLog "logs/www.ceshi123.com-error.log"
<Directory "D:/apache/htdocs">
  Options -Indexes FollowSymLinks
  AllowOverride None
  Order allow,deny
  Deny from all
</Directory>
</VirtualHost>

其中:  www.cehi.com  和  www.ceshi123.com 分别做不同处理,www.cehi.com 通过反向代理来处理外部的请求, www.ceshi123.com 则用来apache默认的外网公开下载地址     我服务器内网IP是192.168.1.254   故我直接限制拒绝访问    

4:  另外,配置本服务器host文件  ,一般 C:\Windows\System32\drivers\etc

127.0.0.1 www.ceshi.com
127.0.0.1 www.ceshi123.com

 

5: 之前已经通过apache+tomcat+mod_jk 实现负载均衡机制,故tomcat配置文件需修改

<Host name="www.ceshi.com"  appBase="webapps"   unpackWARs="true" autoDeploy="true"      xmlValidation="false" xmlNamespaceAware="false">   
       
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b  %{Referer}i %{User-Agent}i" />
   </Host>

 如果想屏蔽掉项目名,

则加上

 <Context path="" docBase="D:/tomcat7/webapps/project" crossContext="true"/>

<Context path="/project" docBase="D:/tomcat7/webapps/project" crossContext="true"/>

 

重启apache+tomcat  测试即可。

PS: 以上适用于 apache+tomcat+mod_jk实现的负载均衡机制下,其他情况没测试,如有问题,请留言!

 

 

转载于:https://my.oschina.net/ZFrances/blog/468874

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值