`
zgax
  • 浏览: 20863 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

APACHE+TOMCAT 禁止通过IP访问

阅读更多
一个项目碰到这样的问题,禁止网站通过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"!,在下面添加以下语句:
<Listener className="org.apache.jk.config.ApacheConfig"
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;,添加以下语句
<Listener className="org.apache.jk.config.ApacheConfig" append="true"
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 
生成的文件配置为:
<IfModule !mod_jk.c>
  LoadModule jk_module "G:/Apache Software Foundation/Apache2.2/modules/mod_jk.so"
</IfModule>

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.*.*
<VirtualHost 117.25.*.*>
	ServerName 117.25.*.*
	<Location "/*">
        AllowOverride None
        deny from all
	</Location>
</VirtualHost>
<VirtualHost 117.25.*.*>
    ServerName www.myhost.com

    #################### localhost:/SF ####################

    # Static files 
    Alias /* "G:\CnRoot\ROOT"

    <Directory "G:\CnRoot\ROOT">
        Options Indexes FollowSymLinks
        DirectoryIndex index
    </Directory>


    # Deny direct access to WEB-INF and META-INF
    #
    <Location "/WEB-INF/*">
        AllowOverride None
        deny from all
    </Location>

    <Location "/META-INF/*">
        AllowOverride None
        deny from all
    </Location>
    #
    # Use Directory too. On Windows, Location doesn't work unless case matches
    #
    <Directory "G:\CnRoot\ROOT/WEB-INF/">
        AllowOverride None
        deny from all
    </Directory>

    <Directory "G:\CnRoot\ROOT/META-INF/">
        AllowOverride None
        deny from all
    </Directory>

    JkMount /*.jsp  ajp13
    JkMount /*.jspx  ajp13
    JkMount /*  ajp13
</VirtualHost>
分享到:
评论

相关推荐

    Apache禁止域名恶意指向网站的方法

    原本的配置`Order deny,deny allow from all`允许所有IP访问,我们需要将其修改为`Order allow,deny Deny from all`,这会阻止所有IP的直接访问。`ErrorLog`和`CustomLog`用于记录错误日志和访问日志,可以根据需要...

    java禁止直接url访问图片

    为了防止未经授权的直接URL访问,Web服务器(如Apache、Nginx或Tomcat)可以通过配置来限制对某些目录或文件的访问。例如,可以设置访问控制指令,仅允许特定IP或用户访问特定资源。 3. **Java Servlet**: 在...

    关于tomcat 的ssl配置

    1. 打开 `Apache Tomcat 4.0\conf\server.xml` 文件,并删除注释符号 `&lt;!--` 和 `--&gt;`。 2. 修改 `&lt;Connector&gt;` 元素,添加 `scheme="https"` 和 `secure="true"` 属性。 3. 修改 `keystoreFile` 属性,指向 Tomcat_...

    tomcat manager配置

    - 注释掉 `&lt;Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /&gt;` 这段代码,以允许任意 IP 地址访问 Manager App。 - 重启 Tomcat 服务器使更改生效...

    tomcat远程命令攻击的漏洞与利用

    CVE-2017-12615 是一个存在于Apache Tomcat 7.0.0 至 7.0.79 版本中的安全漏洞。该漏洞允许攻击者通过精心构造的HTTP PUT请求上传任意文件至Tomcat服务器,进而执行服务器端代码。 #### 实验目的 本实验旨在通过...

    tomcat安全加固

    ### Tomcat安全加固知识点详解 ...此外,还可以根据实际需求,进一步增强其他方面的安全性,比如使用SSL/TLS加密通信、限制对外IP访问等。总之,在部署Tomcat之前进行全面的安全评估和加固工作是至关重要的。

    网站常见漏洞及解决办法

    - 使用防火墙或WAF(Web应用防火墙)限制对特定端口或IP地址的访问。 - 对关键服务器进行定期的安全评估和渗透测试,以发现潜在的安全风险并加以解决。 总之,针对网站常见的安全漏洞,除了采用上述具体的解决方案...

    018-web应用服务器安全加固.pptx

    - 防止Apache访问Web目录之外的文件,通过编辑`httpd.conf`配置文件,设置可访问的目录范围。 #### 5. 禁止目录列出 - 删除配置文件中`Options`指令的`Indexes`选项,以防止Apache列出目录内容,避免敏感信息泄露。...

    Apache配置 虚拟转向实例

    `JkMount`指令是Apache与Tomcat集成的关键,通过AJP(Apache JServ Protocol)协议将特定的URL模式(如`servlet/*`, `/*.jsp`, `/*.do`)转发给Tomcat处理,这样Apache可以处理静态内容,而动态内容如servlet、JSP等...

    Linux 安装JDK Tomcat MySQL的教程(使用Mac远程访问)

    在本教程中,我们将详细介绍如何在Linux CentOS 7.4 64位系统上安装JDK、Tomcat和MySQL,并通过Mac进行远程访问。首先,确保你的环境是阿里云服务器,运行CentOS 7.4,同时你的本地机器运行的是macOS High Sierra。 ...

    secureCRT操作linux服务器操作总结参考.pdf

    例如,`rm -rf /qrbi/raq/apache-tomcat-6.0.29/work/Catalina/`。 3. **文件管理与权限问题** - **WinSCP**:可以用来直观地进行远程文件操作,如上传、下载、修改和删除。然而,对于需要root权限的操作,如删除...

    secureCRT操作linux服务器操作总结.pdf

    使用`rm -rf`命令删除此目录及其所有内容来清理缓存,例如`rm -rf /qrbi/raq/apache-tomcat-6.0.29/work/Catalina/`。 5. **文件管理与权限** - **WinSCP**:提供图形化界面,方便远程访问Linux服务器,进行文件...

    Ubuntu下安装tomcatJavamysqlsftpd.pdf

    安装完成后,vsftpd会在/home/目录下创建一个ftp目录,你可以通过访问`ftp://IP地址`来测试FTP服务是否正常运行。默认情况下,匿名用户可以浏览但不能上传或写入文件。 为了增强安全性,我们需要修改配置文件`/etc/...

    服务器中间件加固,防火墙加固,日志安全管理

    - 授予权限时,应确保只给予读取权限,禁止写入权限、脚本源访问权限及目录浏览功能。 - 日志访问、索引资源及执行权限也应被关闭或限制在特定情况下使用。 - 推荐使用“仅限于脚本”的执行模式。 #### 防火墙...

    javaweb实验报告.pdf

    你需编写一个页面,阻止以“192.”开头的IP访问,并返回“访问禁止”信息。另外,用户可以选择页面背景颜色,系统会记住选择并在下次访问时自动应用。这需要利用Cookie或Session来实现。 【实验六】 在这个实验中,...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要功能:(1)博客的注册、登录验证功能(2) 网络用户通过关键字搜索博文功能(3) 最热门博客页面推荐浏览(4) 文章详细内容及相关评论显示(5) 博客页面访问量...

    JSTL高级用法

    &lt;%@ page isELIgnored="true"%&gt; 表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁止 EL中的隐式对象  ${param.name}  ${paramValues.name}  cookie JSTL并没有提供设定cookie的动作, 例:要取得cookie中有一...

    第十二章 WEB渗透1

    HTTP状态码如200(成功)、301(永久重定向)、302(临时重定向)、401(未授权)、403(禁止访问)、404(未找到)、500(服务器内部错误)和503(服务不可用)等,反映了客户端与服务器之间的交互情况。...

Global site tag (gtag.js) - Google Analytics