Apache+tomcat环境禁止使用ip访问
作者:十字彩虹00 | 来源:互联网 | 2014-05-28 10:53
一个项目碰到这样的问题,禁止网站通过IP访问。这样的问题如果web服务器是IIS,就根本不成问题,直接配置就行了。至于IIS怎么配置,很抱歉,我不知道,没用过IIS。tomcat本身不支持这样的配置,无奈,只能加上apache了。网上找了很多apache+tomcat的文章,
一个项目碰到这样的问题,禁止网站通过IP访问。这样的问题如果web服务器是IIS,就根本不成问题,直接配置就行了。至于IIS怎么配置,很抱歉,我不知道,没用过IIS。
tomcat本身不支持这样的配置,无奈,只能加上apache了。
网上找了很多apache+tomcat的文章,多次尝试,以下方法可行,且已经在用。
1.下载并安装所需文件
1.1 apache2.2.4 (本次使用该版本。验证 Apache 是否可以运行
http://localhost,应可以看到Apache页面
(最新版本下载:http://httpd.apache.org/download.cgi)
1.2 JDK
(本次使用jdk-1_6_0_u17)
1.3 TOMCAT (本次使用tomcat6.0)
启动Tomcat ,测试是否安装成功 http://localhost:8080
(最新版本下载:http://tomcat.apache.org/)
1.4 Tomcat Connectors (JK
二进制文件)
JK下载地址(http://apache.etoak.com/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/)注意选择匹配的apache版本,否则可能配置不成功。
2.配置连接
要点: 最终要实现通过Apache 80 端口可以访问 Tomcat example ,如可以成功运行这些例子,即说明mod_jk
正常工作,因为Tomcat 的缺省端口是8080
为方便起见,创建三个新的环境变量 如:
JAVA_HOME=C:\j2sdk1.6
CATALINA_HOME=C:\apache-tomcat-60
APACHE_HOME=G:\Apache Software Foundation\Apache2.2
2.1 TOMCAT
2.1.1 编辑CATALINA_HOME\conf 目录下的 server.xml 文件
2.1.2 查找server.xml 带有 server 和 8005 端口的那行,如:!Server port="8005"
shutdown="SHUTDOWN" debug="0"!,在下面添加以下语句:
modJk="G:\Apache Software Foundation\Apache2.2\modules/mod_jk.so"
/>
注意1:使用TOMCAT6的情况下,这里的className改为:org.apache.jk.config.ApacheConfig,如果是其他版本,可能是别的。
注意2:modJk里面的文件路径可以是相对于tomcat的路径,这里设为绝对路径。
2.1.3. 在 server.xml 文件
Host 子项处,如:!Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true"& gt;,添加以下语句
forwardAll="false" modJk="G:\Apache Software
Foundation\Apache2.2\modules/mod_jk.so" />
注意1:className和文件路径和2.1.2一样。
注意2:forwardAll设为false的时候,只有*.jspx,*.do,*.jsp交给TOMCAT执行,其余的图片,css等文件默认为Apache执行解析;如果设为true,则所有的文件都交由TOMCAT来执行。
2.1.4.检查 Host 名字,确定指向你的Apache Server (缺省为localhost),当然,如果apache 和
tomcat 安装在同一台机器上,且均使用localhost ,则不用修改。
2.2 APACHE
2.2.1 编辑APACHE_HOME\conf 目录下的 httpd.conf 文件。
2.2.2 找到有LoadModule 设置的部分,在后面添加 LoadModule jk_module
modules/mod_jk.so
注意:实践中发现其实这个不设置也可以,因为在后面一步加载的mod_jk.conf中已经包含这部分了。
2.2.3 在此文件最后添加 Include
C:/apache-tomcat-5.5.15/conf/auto/mod_jk.conf ,
注意:mod_jk.conf 是在Tomcat 启动时自动创建,自动生成的mod_jk.conf
生成的文件配置为:
LoadModule jk_module "G:/Apache Software Foundation/Apache2.2/modules/mod_jk.so"
JkWorkersFile "G:/Apache Software Foundation/Tomcat 6.0/conf/jk/workers.properties"
JkLogFile "G:/Apache Software Foundation/Tomcat 6.0/logs/mod_jk.log"
JkLogLevel emerg
2.3 创建 workers.properties
这里是配置过程中唯一需要手工建立的文件,CATALINA_HOME/conf/jk
目录(jk目录可手工创建)下的workers.properties,添入以下内容 # BEGIN
workers.properties
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
# END workers.properties
备注:上述内容比较简单,可以使用一个比较完整的workers.properties
http://www.akadia.com/download/soug/tomcat/html/workers_properties.html
3.测试
3.1 启动TOMCAT,可以看到 Tomcat6\conf 目录下有auto\mod_jk.conf 生成。
3.2 待 TOMCAT 启动完成后,启动APACHE。
3.3 访问 http://localhost:8080/examples ,如可以运行例程,说明 tomcat 运行正常
3.4 访问 http://localhost/examples ,如可以运行例程,说明APACHE 与TOMCAT
连接成功,所有JSP 及servlet 请求均被转发给TOMCAT 处理。
以上,已经配置apache+tomcat成功。
以下,将配置apache通过域名访问,且禁止IP访问。 NameVirtualHost 117.25.*.*
ServerName 117.25.*.*
AllowOverride None
deny from all
ServerName www.myhost.com
#################### localhost:/SF ####################
# Static files
Alias /* "G:\CnRoot\ROOT"
Options Indexes FollowSymLinks
DirectoryIndex index
# Deny direct access to WEB-INF and META-INF
#
AllowOverride None
deny from all
AllowOverride None
deny from all
#
# Use Directory too. On Windows, Location doesn't work unless case matches
#
AllowOverride None
deny from all
AllowOverride None
deny from all
JkMount /*.jsp ajp13
JkMount /*.jspx ajp13
JkMount /* ajp13
推荐阅读
-
我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ...
[详细]
蜡笔小新 2024-11-21 13:01:23
-
本文详细介绍了如何在 Ubuntu 系统上安装和配置 LAMP(Linux、Apache、MySQL 和 PHP)服务器。包括 Apache 的安装、PHP 的配置以及 MySQL 数据库的设置,确保读者能够顺利搭建完整的 Web 开发环境。 ...
[详细]
蜡笔小新 2024-11-17 11:05:00
-
-
本项目介绍了如何配置和运行“传情旧物”网站,包括所需的技术栈、环境配置以及具体的操作步骤。 ...
[详细]
蜡笔小新 2024-11-15 20:52:51
-
随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ...
[详细]
蜡笔小新 2024-11-22 19:15:42
-
本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ...
[详细]
蜡笔小新 2024-11-21 17:42:08
-
本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ...
[详细]
蜡笔小新 2024-11-20 17:58:54
-
本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ...
[详细]
蜡笔小新 2024-11-20 10:58:03
-
在尝试启动Java应用服务器Tomcat时,遇到了org.apache.catalina.LifecycleException异常。本文详细记录了异常的具体表现形式,并提供了有效的解决方案。 ...
[详细]
蜡笔小新 2024-11-19 11:46:52
-
蜡笔小新 2024-11-17 18:15:16
-
本文介绍了 PHP 的基本概念、服务器与客户端的工作原理,以及 PHP 如何与数据库交互。同时,还涵盖了常见的数据库操作和安全性问题。 ...
[详细]
蜡笔小新 2024-11-17 15:45:08
-
本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ...
[详细]
蜡笔小新 2024-11-22 19:32:32
-
本文详细介绍了如何在HTML前端开发中利用UINavigationController进行页面管理和数据传递,适合初学者和有一定基础的开发者学习。 ...
[详细]
蜡笔小新 2024-11-20 09:46:39
-
本文详细介绍了 Java 中 org.w3c.dom.Node 类的 isEqualNode() 方法的功能、参数及返回值,并通过多个实际代码示例来展示其具体应用。此方法用于检测两个节点是否相等,而不仅仅是判断它们是否为同一个对象。 ...
[详细]
蜡笔小新 2024-11-19 18:11:10
-
本文介绍了 MySQL Administrator 的主要功能,包括图形化监控 MySQL 服务器的实时状态、连接健康度、内存健康度以及如何创建自定义的健康图表。此外,还详细解释了状态变量和系统变量的管理。 ...
[详细]
蜡笔小新 2024-11-18 08:20:16
-
本文详细探讨了Spring框架中遇到的NoSuchBeanDefinitionException异常,具体涉及com.thinkplatform.dao.UserLogDao Bean未定义的问题,并提供了相应的解决方案。 ...
[详细]
蜡笔小新 2024-11-17 17:16:33
-