tomcat+IIS+Apache整合
使用Windows 2003+IIS 6.0+Tomcat 6.0整合配置JSP与ASP运行环境
利 用记事 本建 立 tm a i . g文 件 内容 为 o ct i r se
_
W i d wsRe ity Ed trVe so 0 n o gsr io ri n 5.0
[ K Y L C L MA HI ES F WA EA ah H E — O A _ C N \O T R \ p ce S f aeF u d t nJk r sp ei c r . ot r o n ai \ at Iai dr t \ 0 w o a a R eo1]
‘
6 8。
新 疆 石 油 科 技
21 0 0年 第 4期 ( 2 第 0卷 )
使 用 Wid w 0 3 I .+ o a 60 n o s2 0 +I 6O T mc t . S 整 合 配 置 JP与A P运 行环 境 S S
李光
克拉 玛依 职 业 技 术 学 院 ,3 60 新 疆 克拉 玛 依 独 山子 83 0
# Ex mp e s c tc n e .o e d o nd h s. a l o ke ha n 1 v  ̄i e p r a o t t
”xe s n r = / k r / aird etr. l etni U i ” a a ai p_e i c 2d ” o ” j t s r o l
摘
一
要 搭建 JP和 A P运行环境是 学习动 态网站开发技术的基础 。给出的整合配置方法只是众多解决该问题方案中较 简单的 S S
种 。使 用本 方 法 建 立 的 网站 , 可 以执 行 *AS 既 . P文 件, 可 以执 行 *J P文件 。 也 . S
主题词 JP A P S S Wid w 0 3 动 态网站 虚 拟 目录 浏 览器 注册表 no s 0 2
APACHE 2.2.4与TOMCAT6.0.14整合教程
APACHE 2.2.4+TOMCAT6.0.14配置负载均衡的网站目标:使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求:1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。
2、为系统设定 Session 超时时间,包括 Apache 和 tomcat3、为系统屏蔽文件列表,包括 Apache 和 tomcat注:本例程以一台机器为例子,即同一台机器上装一个apache+2个Tomcat。
一、前期准备工作:安装用的程序APAHCE 2.2.4下载:apache_2.2.4-win32-x86-no_ssl.msiTOMCAT6.0.14下载:apache-tomcat-6.0.14.zip直接解压。
APACHE-tomcat连接器:mod_jk-apache-2.2.4.so远程下载:/Apache/tomcat/tomcat-connectors/jk/bina ries/win32/jk-1.2.23/mod_jk-apache-2.2.4.so二、安装过程APAHCE安装目录:C:\Program Files\Apache Software Foundation\Apache2.2,下称dirApache。
两个TOMCAT目录:自行解压到dirTOMCATA和dirTOMCATB即可。
这两个安装过程就不详细说明了。
mod_jk-apache-2.2.4.so复制到APACHE安装目录下的modules目录(dirApache\modules)。
三、配置1、Apache配置1.1、 workers.properties配置在dirApache\conf下新建一个workers.properties文件,用记事本打开workers.properties文件,写入如下内容:代码:worker.list=loadbalancerworker.loadbalancer.type=lbworker.loadbalancer.balanced_workers=tomcat2,tomcat1worker.loadbalancer.sticky_session=trueworker.loadbalancer.sticky_session_force=true# Set properties for tomcat1 (ajp13)worker.tomcat1.type=ajp13worker.tomcat1.host=127.0.0.1worker.tomcat1.port=8019worker.tomcat1.lbfactor=20worker.tomcat1.cachesize=1000worker.tomcat1.cache_timeout=600worker.tomcat1.socket_keepalive=1#worker.tomcat1.reclycle_timeout=300worker.tomcat1.local_worker=1worker.tomcat1.socket_timeout=0worker.tomcat1.retries=3# Set properties for tomcat2(ajp13)worker.tomcat2.type=ajp13worker.tomcat2.host=127.0.0.1worker.tomcat2.port=8029worker.tomcat2.lbfactor=80worker.tomcat2.cachesize=1000worker.tomcat2.cache_timeout=600worker.tomcat2.socket_keepalive=1#worker.tomcat2.reclycle_timeout=300worker.tomcat2.local_worker=1worker.tomcat2.socket_timeout=0worker.tomcat2.retries=3其中worker.tomcat1.type =ajp13和worker.tomcat2.type=ajp13这个要记住,要和Tomcat下配置对应。
Apache与Tomcat协同配置参考
Apache与Tomcat协同配置参考在按照本文档进行配置之前,假设Tomcat和Apache均已安装成功。
1.优化tomcat与apache协同端口通常情况下,tomcat的配置文件server.xml中并没有对apache与tomcat的连接池进行配置,建议按照如下方法配置:<Connector port="8219"maxThreads="512"minSpareThreads="256"maxSpareThreads="512"acceptCount="512"connectionTimeout="20000"disableUploadTimeout="true"enableLookups="false"redirectPort="8443"debug="0"protocol="AJP/1.3"/>主要参数意义:minSpareThreads:最小空闲连接线程数,服务器启动时创建的处理请求的线程数,用于提高系统处理性能,默认值为10maxSpareThreads:最大连接线程数,即:并发处理的最大请求数,默认值为75acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右,在Linux中可通过修改/etc/security/limits.conf中的参数,增加如下配置* soft nofile 163840* hard nofile 163840完整Tomcat配置server.xml文件参见附件server.xml。
常用的Web服务器
常用的Web服务器有IIS、Apache、Tomcat、Jboss、Resin、Weblogic、WebSpher等。
●IISIIS服务是Windows产品自带的一种免费的Web服务器,安装配置简单,主要解析的是ASP程序代码,对于小型的、利用ASP编程的项目,可以采用其作为Web服务器。
一般可以跟Apache整合起来使用。
这种服务在配置过程中需要注意权限的问题。
●Apache世界排名第一、免费开源的Web服务器软件,可以安装运行在绝大多数的计算机平台上,支持大多数语言开发的B/S结构软件。
一般情况下Apache与其他的Web服务器整合使用,功能非常强大,尤其在静态页面处理速度上表现优异。
●TomcatTomcat是Apache下的一个核心子项目,是目前使用量最大的免费的JAVA服务器。
主要处理的是JSP页面和Servlet文件。
Tomcat常常与Apache整合起来使用,Apache处理静态页面,比如Html页面,而Tomcat负责编译处理JSP页面与Servlet。
在静态页面处理能力上,Tomcat不如Apache。
由于Tomcat是开源免费、功能强大易用的,很多JAVA的初学者都喜欢用它。
当然,也有不少中小企业用其与Apache整合做Web服务器。
熟练掌握Tomcat的使用是非常必要的。
可以这么说,熟练安装配置Tomcat是软件测试工程师的必备技能。
●JbossJboss是RedHat的产品(RedHat于2006年收购了Jboss)。
与Tomcat相比,Jboss要专业些。
JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3.0的规范,本身不支持JSP/Servlet,需要与Tomcat集成才行。
一般我们下载的都是这两个服务器的集成版。
与Tomcat一样,Jboss也是开源免费的。
Jboss在性能上的表现相对于单个Tomcat 要好些。
当然并非是绝对的,因为Tomcat做成集群,威力不容忽视。
Apache与tomcat的整合、负载均衡和加入启动和系统服务
Apache与tomcat的整合及负载均衡系统环境:Windows Server 2021 R2 SP1虚拟机环境:Red Hat Enterprise Linux Server release 5.4 (Tikanga) X64安装软件版本:JDK:1.6.0_19 Tomcat: Apache: JK:实施步调:一、安装软件。
1tar -xz2345./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most--with-mpm=worker6make7make install89/jk/native/1011./configure --with-apxs=/usr/local/apache2/bin/apxs12make13make install二、配置整合及负载均衡1 cp / /usr/local/apache2/modules2配置环境变量vi /etc/profile在文本末尾参加以下内容JAVA_HOME=JDK安装路径CATALINA_HOME=tomcat安装路径CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.PATH=$JAVA_HOME/bin:$PATHexport JAVA_HOME CATALINA_HOME CLASSPATH PATH3应用初始的环境变量source /etc/profile4点窜以下几处而且在末尾加上:Include /usr/local/apache2/conf/ 5添加及设置vi /usr/local/apache2/增加以下内容#加载mod_jk ModuleJkLogLevel info载分配控制制器JkMount /* lb6添加及设置vi /usr/local/apache2/conf/添加以下内容worker.list = lb,tomcat1,tomcat2#server 列表#========tomcat1========worker.tomcat1.port=8009#ajp13 端标语,在tomcat下server.xml配置,默认8009#tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat1.type=ajp13worker.tomcat1.lbfactor = 1#server的加权比重,值越高,分得的请求越多#========tomcat2========worker.tomcat2.port=8009#ajp13 端标语,在tomcat下server.xml配置,默认8009#tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat2.type=ajp13worker.tomcat2.lbfactor = 1#server的加权比重,值越高,分得的请求越多#========controller,负载均衡控制器========worker.lb.type=lbworker.lb.balanced_workers=tomcat1,tomcat2#指定分担请求的tomcatworker.lb.sticky_session=17、将JSP文件放入/usr/local/tomcat/webapps/ROOT8 启动apache和tomcat8 翻开浏览器输入就是这么简单。
apach+tomcat系统整合说明
# ------------------------
worker.tomcat2.port=8011
worker.tomcat2.host=127.0.0.1
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=10
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout---------
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=tomcat1,tomcat2
worker.loadbalancer.sticky_session=1
JkRequestLogFormat "%w %V %T"
JkMount /*.jsp ajp13w
JkMount /servlet/* ajp13w
JkMount /*.servlet ajp13w
JkMount /*.do ajp13w
JkMount /admin/* ajp13w
####### Defining a worker named worker1 and of type ajp13
worker.list=worker1
####### Set properties for worker1
Tomcat集群搭建
本文Apache+Tomcat集群配置基于apache tomcat6.0.35 和apache http server 2.2实现均衡负载准备环境ApacheApache是http服务器,我们利用其对Tomcat进行负载均衡。
目前最新版本为2.2.?,下载地址为/download.cgi#apache22。
如下图:目前已经出现Apache2.3.11,但是为beta版本,所以没有使用。
下载后直接安装msi即可,如果没有其他的http服务器(如iis)则应该可以成功安装,端口即为80,能够访问http://localhost/说明安装成功。
建议不要监听80端口,因为有时候80端口已经被IIS服务器给占或者其他软件被占的话,apache server是安装不成功的(这样会报错:Address already in use: make_sock: could not bind to port 80/443…)。
如果想改监听的端口,请修改httpd.conf,找到:listen 80 改成 listen 8080即可监听8080端口TomcatTocmat7目前已经出现稳定版本的7.0.12,Tomcat6则为6.0.32。
经我测试,这2个版本的Apache负载均衡配置过程都是一样的,因此下面的配置在Tomcat6或7集群是通用的。
但是按照下面的配置,集群中Tomcat不能既有Tomcat6又有Tomcat7,否则虽能够负载均衡,但不能进行session复制,不知其他方式配置的集群是否可以。
Tomcat就不用怎么介绍了。
既然在本地需要多个节点,那么需要下载ZIP 版本的Tomcat。
JKJK是Tomcat提供给http服务器的插件(个人理解的),下载地址为/apache/tomcat/tomcat-connectors/jk/binaries /windows/。
如下图:(请下版本号能对应的so)这里选择的是mod_jk-1.2.31-httpd-2.2.3.so,如果http服务器是Apache2.0.X版本,则必须选择mod_jk-1.2.31-httpd-2.0.52.so,页面下方有英文的说明,大家可以看下。
Web服务器安装与配置实验报告
Web服务器安装与配置实验名称:Web服务器安装与配置实验目的:1、IIS服务器的安装与配置2、Apache的安装与配置3、Tomcat的安装与配置实验准备:信息服务(IIS)管理器、Apache安装文件、Tomcat安装文件、在实验之前对IIS、Apache、Tomcat应该有个初步的了解实战任务:1.掌握IIS服务器的安装与配置:安装IIS服务器;网站设置;FTP站点设置;SMTP服务器设置;NNTP服务器设置;SMTP管理--配置SMTP虚拟服务器等等。
2.掌握Apache服务器的安装与配置:Apache的安装;Apache安全防护--限制上传的大小;Apache安全防护--保护服务器文件免于恶意脚本的攻击;Apache错误处理--将无效的URL重定向至其他网页;Apache性能--平均分配各服务器的负载等等。
3.掌握Tomcat服务器的安装与配置:Tomcat的安装;Tomcat配置--部署一个web应用;Tomcat配置--配置虚拟主机;Tomcat配置--配置用户定制目录;Tomcat配置--限制特定主机访问等等。
实验内容及步骤:任务一:IIS服务器安装与网站管理/0.51.安装IIS服务器;2.IIS管理器打开;3.网站设置;4.FTP站点设置;5.SMTP服务器设置;6.NNTP服务器设置;7.网站管理--命名网站;8.网站管理--启动与停止网站;9.网站管理--将请求重定向到文件、目录或程序。
任务二:IIS服务器应用,FTP管理、NNTP管理、SMTP管理/0.51.FTP网点管理--更改FTP站点主目录;2.FTP网点管理--在FTP站点中使用虚拟目录;3.FTP网点管理--创建多个FTP站点;4.FTP网点管理--隔离FTP用户;5.NNTP管理--启动和停止网站;6.NNTP管理--创建虚拟目录;7.NNTP管理--限制对新闻组的访问;8.NNTP管理--按IP地址限制访问;9.NNTP管理--创建新闻组;10.NNTP管理--审查新闻组;11.NNTP管理--编辑和删除新闻组;12.NNTP管理--配置过期策略;13.SMTP管理--配置SMTP虚拟服务器;14.SMTP管理--设置连接;15.SMTP管理--启用协议日志记录。
apache2.4.3的安装以及整合tomcat
操作准备:(1)安装apache-tomcat-6.0.20到 /opt 下,并修改名字为tomcat(很简单直接解压就行了,再次不再赘述)(2)上传以下安装包到opt下(如果已经存在则不用上传)(3)如果机器上没有安装过apache则直接跳到安装apache的步骤进行操作停止现在的apache服务:[root@localhost local]# cd /opt/apache/bin[root@localhost bin]# ./apachectl stop修改现有apache端口:[root@localhost bin]# cd /opt/apache/conf[root@localhost conf]# vi httpd.conf找到 Listen 80改为 Listen 81备注: 修改文件操作是光标定格到80后面然后按下i键,即可进行修改修改完毕,按下Esc键然后输入 :wq (wq前面有个冒号)开始安装apache:[root@localhost ~]# cd /opt //源码存放位置[root@localhost opt]# tar -zxvf apr-1.4.6.tar.gz[root@localhost opt]# cd apr-1.4.6[root@localhost apr-1.4.6]# ./configure --prefix=/usr/local/apr可能遇见的情况如下:如果出现以下错误则编辑libtool将 $echo 替换为$ECHO具体操作::%s#$echo#$ECHO#groot@localhost apr-1.4.6]# makeroot@localhost apr-1.4.6]# make installroot@localhost apr-1.4.6]# cd /optroot@localhost opt]# tar -zxvf apr-util-1.5.1.tar.gzroot@localhost opt]# cd apr-util-1.5.1root@localhost apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/aprroot@localhost apr-util-1.5.1]# makeroot@localhost apr-util-1.5.1]# make installroot@localhost apr-util-1.5.1]# cd /optroot@localhost opt]# unzip -o pcre-8.30.ziproot@localhost opt]# cd pcre-8.30root@localhost cd pcre-8.30]# ./configure --prefix=/usr/local/pcreroot@localhost cd pcre-8.30]# makeroot@localhost cd pcre-8.30]# make installroot@localhost cd pcre-8.30]# cd /opt[root@localhost opt]# tar -zxvf httpd-2.4.3.tar.gz[root@lamp opt]# cp -rf apr-1.4.6 httpd-2.4.3/srclib/apr[root@lamp opt]# cp -rf apr-util-1.5.1 httpd-2.4.3/srclib/apr-util 这两句话是为了防止,安装时报如下错误Configur:error:Bundled APR requested but not found at ./srclib/. Download …[root@localhost opt]# cd httpd-2.4.3[root@localhost httpd-2.4.3]# ./configure --prefix=/usr/local/apache --enable-so –enable-mods-shared=most --with-mpm=worker --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --with-included-apr加入--with-included-apr为了防止apache启动报错:例如httpd: Syntax error on line 140 of /usr/local/apache2/conf/httpd.conf: Cannot load/usr/local/apache2/modules/mod_dir.so into server: /usr/local/apache2/modules/mod_dir.so: undefined symbol: apr_array_clear[root@localhost httpd-2.4.3]# make[root@localhost httpd-2.4.3]# make installroot@localhost httpd-2.4.3]#cd /usr/local/apache //进入apache的目录root@localhost apache]# cd conf/root@localhost conf]#cp -a httpd.conf httpd.conf- //备份apache配置文件启动apache服务:用于查看是否正确安装apacheroot@localhost conf]#cd /usr/local/apache/binroot@localhost bin]# ./apachectl start然后打开浏览器输入http://localhost:80进行查看Apache与tomcat的整合:root@localhost bin]# cd /optroot@localhost opt]# tar –zxvf tomcat-connectors-1.2.37-src.tar.gzroot@localhost opt]# cd tomcat-connectors-1.2.37-src/nativeroot@localhost native]# ./configure --with-apxs=/usr/local/apache/bin/apxsroot@localhost native]# makeroot@localhost native]# cp ./apache-2.0/mod_jk.so /usr/local/apache/modules/ root@localhost native]# cd/usr/local/apache/confroot@localhost conf]# ls创建 mod_jk.conf和workers.properties 这两个文件到此conf 文件夹中创建mod_jk.confvi mod_jk.confJkWorkersFile /usr/local/apache/conf/workers.properties# Where to put jk logsJkLogFile /usr/local/apache/logs/mod_jk.log# Set the jk log level [debug/error/info]JkLogLevel info# Select the log formatJkLogStampFormat "[%a %b %d %H:%M:%S %Y]"# JkOptions indicate to send SSL KEY SIZE,#JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormat set the request formatJkRequestLogFormat "%w %V %T"JkMount /servlet/* worker1JkMount /*.jsp worker1创建workers.propertiesvi workers.properties# Defining a worker named worker1 and of type ajp13worker.list=worker1worker.worker1.type=ajp13worker.worker1.host=localhostworker.worker1.port=8009worker.worker1.lbfactor=50worker.worker1.cachesize=1worker.worker1.cache_timeout=600worker.worker1.socket_keepalive=1worker.worker1.socket_timeout=300保存退出root@localhost conf]# vi httpd.conf修改DocumentRoot 为 (我的网页放在/opt/sgcc_web/ 下)"/opt/sgcc_web"下面的那一个Directory 节点也改为 "/opt/sgcc_web"跳到文件末尾找到SSLRandomSeed startup builtinSSLRandomSeed connect builtin</IfModule>删除此节点以后的全部内容,并追加以下两句话LoadModule jk_module modules/mod_jk.soInclude /usr/local/apache/conf/mod_jk.conf如下图:然后找到以下两句,删除前面的#号#LoadModule ssl_module modules/mod_ssl.so#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 第一句话是防止apache启动时报以下错误AH00526: Syntax error on line 51 of /usr/local/apache2/conf/extra/httpd-ssl.conf: Invalid command 'SSLCipherSuite', perhaps misspelled or definedby a module not included in the server configuration第二句话是防止apache启动时报以下错误AH00526: Syntax error on line 76 of /usr/local/apache2/conf/extra/httpd-ssl.conf: SSLSessionCache: 'shmcb' session cache not supported (knownnames: ). Maybe you need to load the appropriate socache module(mod_socache_shmcb?).保存,apache配置结束!最后编辑Tomcat的配置文件server.xml,在HOST段中加入:在http://localhost:8080/和http://localhost:80/index.jsp,应该可以看到相同的页面了。
IIS7.0和Tomcat整合80端口
首选确定安装好IIS和Tomact6及配置好JDK环境变量,IIS端口80,Tomcat端口为8080。
申明下以下是我在windows2008+IIS7.0+Tomact6.0环境下整合的。
新建IIS的注册表iis.reg,然后运行注册表。
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector/1.0]"log_file"="D://tomcat6//logs""log_level"="debug""worker_file"="D://tomcat6//conf//workers.properties""worker_mount_file"="D://tomcat6//conf//uriworkermap.properties""tomcat_start"="D://tomcat6//bin//startup.bat""tomcat_stop"="D://tomcat6//bin//shutdown.bat""extension_uri"="/jakarta/isapi_redirect.dll"Tomcat6/conf/ 下新建workers.properties和uriworkermap.propertiesworkers.properties内容如下worker.list=worker1worker.ajp13w.type=ajp3worker.ajp13w.host=xxx.xxx.xxx (你的域名或者IP)#worker.ajp13w.host=192.168.2.118#worker.ajp13w.host=localhostworker.ajp13w.port=8009worker.worker1.lbfactor=1uriworkermap.properties内容如下#/jsp/*=worker1#/jsp/worker1/*=worker1#/*.jsp#!/*.html#/examples/*=tomcat6#/*.jsp=tomcat6isapi_redirect.dll拷贝到Tomcat6/conf/文件夹下Tomact目录下新建jk文件夹isapi_redirect.dll拷贝到Tomcat6/jk/文件夹下新建isapi_redirect.propertiesisapi_redirect.properties内容如下extension_uri=/isapi_redirect.dll#extension_uri=/jakarta/isapi_redirect.dlllog_file=D:/tomcat6/logs/isapi_redirect.loglog_level=infoworker_file=D:/tomcat6/conf/workers.propertiesworker_mount_file=D:/tomcat6/conf/uriworkermap.propertiestomcat_start=D:/tomcat6/bin/startup.battomcat_stop=D:/tomcat6/bin/shutdown.bat新建web.configWeb.config内容如下:<?xml version="1.0" encoding="UTF-8"?><configuration><system.webServer><handlers accessPolicy="Read, Execute, Script" /></system.webServer><appSettings><add key="jsp" value=".jsp" /></appSettings></configuration>Default Web Site下添加虚拟目录jakarta屋里路径找到Tomcat6/conf/下的isapi_redirect.dll 点击“链接为…”选择“特定用户”点击“设置”输入系统的用户名和密码然后确定。
Web中间件常见漏洞总结
Web中间件常见漏洞总结⼀、IIS中间组件:1、PUT漏洞2、短⽂件名猜解3、远程代码执⾏4、解析漏洞⼆、Apache中间组件:1、解析漏洞2、⽬录遍历三、Nginx中间组件:1、⽂件解析2、⽬录遍历3、CRLF注⼊4、⽬录穿越四、Tomcat中间组件:1、远程代码执⾏2、war后门⽂件部署五、jBoss中间组件:1、反序列化漏洞2、war后门⽂件部署六、WebLogic中间组件:1、反序列化漏洞2、SSRF3、任意⽂件上传4、war后门⽂件部署七、其它中间件相关漏洞1、FastCGI未授权访问、任意命令执⾏2、PHPCGI远程代码执⾏⼀、IIS解析漏洞:IIS的安全脆弱性曾长时间被业内诟病,⼀旦IIS出现远程执⾏漏洞威胁将会⾮常严重。
远程执⾏代码漏洞存在于 HTTP 协议堆栈(HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞。
成功利⽤此漏洞的攻击者可以在系统帐户的上下⽂中执⾏任意代码,可以导致IIS服务器所在机器蓝屏或读取其内存中的机密数据.PUT漏洞介绍及成因:IIS Server在Web服务扩展中开启WebDAV ,配置了可以写⼊权限,造成任意⽂件上传,受影响版本:IIS6.0,漏洞复现:开启WebDAV和写⼊权限.图⽚发⾃简书App利⽤BurpSute测试:BurpSute抓包,将GET请求改为OPTIONS.图⽚发⾃简书App利⽤桂林⽼兵写⼊权限:图⽚发⾃简书App成功上传,再上传⼀句话⽊马,然后⽤菜⼑连接,获取getshell:图⽚发⾃简书AppPUT漏洞修复:关闭WebDAV和写⼊权限.⼆、短⽂件名猜解漏洞介绍及成因:IIS的短⽂件名机制,可以暴⼒猜解短⽂件名,访问构造的某个存在的短⽂件名,会返回404,访问构造的某个不存在的短⽂件名,返回400,漏洞复现:在⽹站根⽬录下添加aaaaaaaaaa.html⽂件:图⽚发⾃简书App进⾏猜解:图⽚发⾃简书App图⽚发⾃简书App漏洞修复:1.升级.net framework;2.修改注册表禁⽤短⽂件名功能;3.快捷键Win+R打开命令窗⼝,输⼊regedit打开注册表窗⼝,找到路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,将其中NtfsDisable8dot3NameCreation这⼀项的值设为 1,1代表不创建短⽂件名格式,修改完成后,需要重启系统⽣效;4.CMD关闭NTFS 8.3⽂件格式⽀持;5.将web⽂件夹的内容拷贝到另⼀个位置,如c:\www到d:\w,然后删除原⽂件夹,再重命名d:\w到c:\www,如图:图⽚发⾃简书App三、远程代码执⾏漏洞介绍及成因:在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进⾏有效的长度控制和检查,导致执⾏memcpy对虚拟路径进⾏构造的时候,引发栈溢出,从⽽导致远程代码执⾏,漏洞复现:漏洞环境搭建:在Windows server 2003 r2 32位上安装iis6.0,触发漏洞:在本地执⾏exp,exp如下:图⽚发⾃简书App执⾏成功后,服务器端弹出计算器:图⽚发⾃简书App短⽂件名猜解漏洞漏洞修复:1.关闭WebDAV服务;2.使⽤相关防护设备.四、解析漏洞介绍及成因:IIS 6.0在处理含有特殊符号的⽂件路径时会出现逻辑错误,从⽽造成⽂件解析漏洞,漏洞有两种完全不同的利⽤⽅式:/test.asp/test.jpgtest.asp;.jpg漏洞复现:利⽤⽅式1:图⽚发⾃简书App利⽤⽅式2:第⼆种是上传名为 “test.asp;.jpg” 的⽂件,虽然该⽂件真正的后缀名是 “.jpg”, 但由于含有特殊符号 “;” ,仍会被 IIS 当做asp程序执⾏:图⽚发⾃简书AppIIS7.5 ⽂件解析漏洞:test.jpg/.php注:URL中⽂件后缀是 .php ,便⽆论该⽂件是否存在,都直接交给 php 处理,⽽ php ⼜默认开启 “cgi.fix_pathinfo”, 会对⽂件进⾏“ 修理 ” ,可谓 “ 修理 ” ?举个例⼦,当 php 遇到路径 “/aaa.xxx/bbb.yyy” 时,若 “/aaa.xxx/bbb.yyy” 不存在,则会去掉最后的“bbb.yyy” ,然后判断 “/aaa.xxx” 是否存在,若存在,则把 “/aaa.xxx” 当作⽂件,若有⽂件 test.jpg ,访问时在其后加 /.php ,便可以把 “test.jpg/.php” 交给 php , php 修理⽂件路径 “test.jpg/.php” 得到 ”test.jpg” ,该⽂件存在,便把该⽂件作为 php 程序执⾏。
tomcat与resin
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。
由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。
因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
目前最新版本是7.0。
Tomcat运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Apache Tomcat 6.x在汲取 Tomcat 5.5.x优点的基础上,实现了Servlet 2.5和JSP 2.1等特性的支持。
Apache Tomcat 7.x是目前的开发焦点,仍基于Apache Software License v2.0标准,同时也是自2006年以来的首个主要发布版本。
它在汲取了Tomcat 6.0.x优点的基础上,实现了对于Servlet 3.0、JSP 2.2和Expression Language(EL)2.2等特性的支持。
除此以外的改进列表如下:• Web应用内存溢出侦测和预防• 增强了管理程序和服务器管理程序的安全性• 一般CSRF保护• 支持web应用中的外部内容的直接引用• 重构(connectors, lifecycle)及很多核心代码的全面梳理Resin是CAUCHO公司的产品,是一个非常流行的支持servlets 和jsp 的引擎,速度非常快。
Resin本身包含了一个支持HTTP/1.1的WEB服务器。
虽然它可以显示动态内容,但是它显示静态内容的能力也非常强,速度直逼APACHE SERVER。
主流WEB服务器软件比较
主流WEB服务器软件比较主流的WEB服务器软件有许多,其中最常见和最受欢迎的有Apache、Nginx、IIS和Tomcat。
下面将对这几个WEB服务器软件进行详细比较。
1. Apache:Apache是最早、最常见、最广泛使用的WEB服务器软件之一、它是开源软件,具有跨平台性,可在大多数操作系统上运行。
Apache具有可扩展性和灵活性,可以通过模块化结构来支持各种功能。
它广泛用于搭建静态和动态网站,并支持多种编程语言。
然而,Apache对于高并发请求的处理能力相对较弱。
2. Nginx:与Apache相比,Nginx在性能方面具有优势。
它使用事件驱动的异步架构,可以处理更多的并发请求,具有较低的内存消耗。
Nginx还可以作为反向代理服务器使用,可以实现负载均衡和高可用性。
由于其轻量级和高性能的特点,Nginx广泛用于高流量的网站和应用程序。
3.IIS:4. Tomcat:Tomcat是Apache基金会开发和维护的一个Servlet容器。
它主要用于运行Java Servlet和JavaServer Pages (JSP)。
Tomcat具有良好的跨平台性,可在多个操作系统上运行,并与其他Apache软件如Apache HTTP服务器和Apache Ant集成。
由于其轻量级和易于使用的特点,Tomcat被广泛用于开发和测试Java Web应用程序。
综上所述,Apache、Nginx、IIS和Tomcat都是主流的WEB服务器软件,具有各自的特点和优势。
选择哪个服务器软件取决于具体的需求和环境。
如果对性能和并发处理能力有较高要求,可以考虑使用Nginx;如果需要与其他微软产品紧密集成,可以选择IIS;如果需要一个可扩展和灵活的服务器软件,可以选择Apache;而如果需要运行Java Web应用程序,可以选择Tomcat。
在选择服务器软件时,还需要考虑到安全性、稳定性和易用性等方面的因素。
Windows下IIS6与Tomcat6的集成
IIS6与Tomcat6的集成1.需要下载及安装的软件安装IIS 6.0 ,安装JDK及配合环境变量等,下载Tomcat6,下载用于集成IIS6和Tomcat6的Apache Tomcat Connector ,网址在下面:/download-connectors.cgi我们要下载的是JK 1.2 的编译后的文件(要源代码等没用),就只下载JK 1.2 Binary Releases就行了,根据操作系统的类型,可以选择下载32位或64位的版本,我的机器是64位CPU,但是安装的是32位的2003,所以下载32位的isapi_redirect.dll注意:用解压缩版的tomcat2. 需要创建的配置文件将isapi_redirect.dll放到tomcat的conf目录中,并在目录中建立以下几个文件workers.properties文件文件内容:workers.tomcat_home=C:\temp\apache-tomcat-6 #让mod_jk模块知道TOMCAT workers.java_home=C:\Program Files\Java\jdk1.6 #让mod_jk模块知道JDK ps=\ #指定文件路径分隔符worker.list=ajp13worker.ajp13.port=8009 #工作端口worker.ajp13.host=localhost #TOMCAT服务器地址worker.ajp13.type=ajp13 #协议类型worker.ajp13.lbfactor=1 #负载平衡因数worker.list=jkstatusworker.jkstatus.type=statusuriworkermap.properties文件文件内容:******************************************************//*=ajp13 # ajp13与文件workers.properties中一致!/ /*.asp=ajp13!/ /*.html=ajp13/ /*.jsp=ajp13/ /*.do=ajp13/ /services*=ajp13/ /*.action=ajp13/ /servlet*=ajp13/ /dwr/*=ajp13/ /private/admin/jkstatus=jkstatus************************************************************** ***附加:如果我们要用到集群的话workers.properties文件里配置,再加一个ajp2,例如:workers.tomcat_home=D:\apache-tomcat-6.0.18 #让mod_jk模块知道TOMCAT workers.java_home=D:\Java\jdk1.6.0_10 #让mod_jk模块知道JDK ps= \ #指定文件路径分隔符worker.list=ajp1,ajp2worker. ajp1.host=localhost #TOMCAT服务器地址worker. ajp1.port=8009 #工作端口worker. ajp1.type=ajp13 #类型worker.ajp1.lbfactor=1 #负载平衡因数worker. ajp2.host=otherhost #第二个TOMCAT的服务器地址worker. ajp2.port=8009 #第二个TOMCAT工作端口worker. ajp2.type=ajp13 #第二个TOMCAT类型worker. ajp2.lbfactor=1 #第二个TOMCAT负载平衡因数worker.list=jkstatusworker.jkstatus.type=statusuriworkermap.properties文件文件内容://*= ajp1 # ajp1与文件workers.properties中一致!/ /*.asp= ajp1!/ /*.html= ajp1/ /*.jsp= ajp1/ /*.do= ajp1/ /services*= ajp1/ /*.action= ajp1/ /servlet*= ajp1/ /dwr/*= ajp1/ /private/admin/jkstatus=jkstatus//*=ajp2 #ajp2与文件workers.properties中一致!/ /*.asp=ajp2!/ /*.html=ajp2/ /*.jsp=ajp2/ /*.do=ajp2/ /services*=ajp2/ /*.action=ajp2/ /servlet*=ajp2/ /dwr/*=ajp2/ /private/admin/jkstatus=jkstatus多个虚拟主机时需要写上虚拟主机的主机头信息,上面的虚拟主机中, 站点除了asp及静态的html文件以外,其它的请求全部由tomcat处理,实际应用时可以考虑将图片、CSS、html等静态的文件由IIS负责直接发给客户端,tomcat只负责处理jsp,servlet等。
Apache2.4+Tomcat7.0整合配置详解
Apache2.4+Tomcat7.0整合配置详解⼀、简单介绍 Apache、TomcatApache HTTP Server(简称 Apache),是 Apache 软件基⾦协会的⼀个开放源码的⽹页服务器,可以在 Windows、Unix、Linux 等操作系统中运⾏是最流⾏的Web服务器软件之⼀。
Apache 反应速度快,运⾏效率⾼,但只⽀持HTML等静态页⾯(加载插件后也可⽀持 PHP 页⾯)。
Apache Tomcat 是由 Apache 软件基⾦协会与 Sun 公司联合开发的⼀款Web服务器,它除了⽀持HTML等静态页⾯外,还⽀持JSP、Servlet 。
在相同的运⾏环境下,Tomcat 对静态页⾯的反应速度没有 Apache 灵敏,整合 Apache 与 Tomcat 能使系统运⾏于⼀个良好环境下,提⾼系统效率。
⼆、软件包下载运⾏环境:Windows 7Apache 2.4 下载:Tomcat 7.0 下载:JDK 6 下载:mod_jk.mo 连接包下载:下载mod_jk时⼀定要看清版本,下载对应的版本如果已有tomcat和jdk,则不⽤另外下载三、Apache 2.4 安装下载的apache2.4如下图所⽰,直接解压到D:\apache-httpd修改⽂件D:\apache-httpd\conf\httpd.conf,端⼝改为8000,程序⽬录指定为E:\apache-tomcat-7.0.50\webapps\ROOT(即tomcat程序所在⽬录,此⽬录可以修改)ServerRoot "D:/apache-httpd"## Mutex: Allows you to set the mutex mechanism and mutex file directory# for individual mutexes, or change the global defaults## Uncomment and change the directory if mutexes are file-based and the default # mutex file directory is not on a local disk or is not appropriate for some# other reason.## Mutex default:logs## Listen: Allows you to bind Apache to specific IP addresses and/or# ports, instead of the default. See also the <VirtualHost># directive.## Change this to Listen on specific IP addresses as shown below to# prevent Apache from glomming onto all bound IP addresses.##Listen 12.34.56.78:80Listen 8000## Dynamic Shared Object (DSO) Support## To be able to use the functionality of a module which was built as a DSO you # have to place corresponding `LoadModule' lines at this location so the# directives contained in it are actually available _before_ they are used.# Statically compiled modules (those listed by `httpd -l') do not need# to be loaded here.## Example:# LoadModule foo_module modules/mod_foo.so#LoadModule access_compat_module modules/mod_access_compat.so LoadModule actions_module modules/mod_actions.soLoadModule alias_module modules/mod_alias.soLoadModule allowmethods_module modules/mod_allowmethods.so LoadModule asis_module modules/mod_asis.soLoadModule auth_basic_module modules/mod_auth_basic.so#LoadModule auth_digest_module modules/mod_auth_digest.so#LoadModule auth_form_module modules/mod_auth_form.so#LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_core_module modules/mod_authn_core.so#LoadModule authn_dbd_module modules/mod_authn_dbd.so#LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_file_module modules/mod_authn_file.so#LoadModule authn_socache_module modules/mod_authn_socache.so#LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule authz_core_module modules/mod_authz_core.so#LoadModule authz_dbd_module modules/mod_authz_dbd.so#LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so#LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so#LoadModule buffer_module modules/mod_buffer.so#LoadModule cache_module modules/mod_cache.so#LoadModule cache_disk_module modules/mod_cache_disk.so#LoadModule cache_socache_module modules/mod_cache_socache.so#LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule cgi_module modules/mod_cgi.so#LoadModule charset_lite_module modules/mod_charset_lite.so#LoadModule data_module modules/mod_data.so#LoadModule dav_module modules/mod_dav.so#LoadModule dav_fs_module modules/mod_dav_fs.so#LoadModule dav_lock_module modules/mod_dav_lock.so#LoadModule dbd_module modules/mod_dbd.so#LoadModule deflate_module modules/mod_deflate.soLoadModule dir_module modules/mod_dir.so#LoadModule dumpio_module modules/mod_dumpio.soLoadModule env_module modules/mod_env.so#LoadModule expires_module modules/mod_expires.so#LoadModule ext_filter_module modules/mod_ext_filter.so#LoadModule file_cache_module modules/mod_file_cache.so#LoadModule filter_module modules/mod_filter.so#LoadModule http2_module modules/mod_http2.so#LoadModule headers_module modules/mod_headers.so#LoadModule heartbeat_module modules/mod_heartbeat.so#LoadModule heartmonitor_module modules/mod_heartmonitor.so#LoadModule ident_module modules/mod_ident.so#LoadModule imagemap_module modules/mod_imagemap.soLoadModule include_module modules/mod_include.so#LoadModule info_module modules/mod_info.soLoadModule isapi_module modules/mod_isapi.so#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so #LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so #LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so#LoadModule ldap_module modules/mod_ldap.so#LoadModule logio_module modules/mod_logio.soLoadModule log_config_module modules/mod_log_config.so#LoadModule log_debug_module modules/mod_log_debug.so#LoadModule log_forensic_module modules/mod_log_forensic.so#LoadModule lua_module modules/mod_lua.so#LoadModule macro_module modules/mod_macro.soLoadModule mime_module modules/mod_mime.so#LoadModule mime_magic_module modules/mod_mime_magic.soLoadModule negotiation_module modules/mod_negotiation.soLoadModule proxy_module modules/mod_proxy.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so#LoadModule proxy_express_module modules/mod_proxy_express.so#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.so#LoadModule proxy_html_module modules/mod_proxy_html.soLoadModule proxy_http_module modules/mod_proxy_http.so#LoadModule proxy_http2_module modules/mod_proxy_http2.so#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so#LoadModule ratelimit_module modules/mod_ratelimit.so#LoadModule reflector_module modules/mod_reflector.so#LoadModule remoteip_module modules/mod_remoteip.so#LoadModule request_module modules/mod_request.so#LoadModule reqtimeout_module modules/mod_reqtimeout.soLoadModule rewrite_module modules/mod_rewrite.so#LoadModule sed_module modules/mod_sed.so#LoadModule session_module modules/mod_session.so#LoadModule session_cookie_module modules/mod_session_cookie.so#LoadModule session_crypto_module modules/mod_session_crypto.so#LoadModule session_dbd_module modules/mod_session_dbd.soLoadModule setenvif_module modules/mod_setenvif.so#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so LoadModule slotmem_shm_module modules/mod_slotmem_shm.so#LoadModule socache_dbm_module modules/mod_socache_dbm.so#LoadModule socache_memcache_module modules/mod_socache_memcache.so#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so LoadModule speling_module modules/mod_speling.soLoadModule ssl_module modules/mod_ssl.so#LoadModule status_module modules/mod_status.so#LoadModule substitute_module modules/mod_substitute.so#LoadModule unique_id_module modules/mod_unique_id.so#LoadModule userdir_module modules/mod_userdir.so#LoadModule usertrack_module modules/mod_usertrack.so#LoadModule version_module modules/mod_version.so#LoadModule vhost_alias_module modules/mod_vhost_alias.so#LoadModule watchdog_module modules/mod_watchdog.so#LoadModule xml2enc_module modules/mod_xml2enc.so<IfModule unixd_module>## If you wish httpd to run as a different user or group, you must run# httpd as root initially and it will switch.## User/Group: The name (or #number) of the user/group to run httpd as.# It is usually good practice to create a dedicated user and group for# running httpd, as with most system services.#User daemonGroup daemon</IfModule># 'Main' server configuration## The directives in this section set up the values used by the 'main'# server, which responds to any requests that aren't handled by a# <VirtualHost> definition. These values also provide defaults for# any <VirtualHost> containers you may define later in the file.## All of these directives may appear inside <VirtualHost> containers,# in which case these default settings will be overridden for the# virtual host being defined.### ServerAdmin: Your address, where problems with the server should be# e-mailed. This address appears on some server-generated pages, such# as error documents. e.g. admin@#ServerAdmin aaa123@## ServerName gives the name and port that the server uses to identify itself. # This can often be determined automatically, but we recommend you specify # it explicitly to prevent problems during startup.## If your host doesn't have a registered DNS name, enter its IP address here. #ServerName localhost## Deny access to the entirety of your server's filesystem. You must# explicitly permit access to web content directories in other# <Directory> blocks below.#<Directory />AllowOverride noneRequire all denied</Directory>## Note that from this point forward you must specifically allow# particular features to be enabled - so if something's not working as# you might expect, make sure that you have specifically enabled it# below.### DocumentRoot: The directory out of which you will serve your# documents. By default, all requests are taken from this directory, but# symbolic links and aliases may be used to point to other locations.#DocumentRoot "E:\apache-tomcat-7.0.50\webapps\ROOT"<Directory "E:\apache-tomcat-7.0.50\webapps\ROOT">## Possible values for the Options directive are "None", "All",# or any combination of:# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews## Note that "MultiViews" must be named *explicitly* --- "Options All"# doesn't give it to you.## The Options directive is both complicated and important. Please see# /docs/2.4/mod/core.html#options# for more information.#Options Indexes FollowSymLinks## AllowOverride controls what directives may be placed in .htaccess files.# It can be "All", "None", or any combination of the keywords:# AllowOverride FileInfo AuthConfig Limit#AllowOverride None## Controls who can get stuff from this server.#Require all granted</Directory>## DirectoryIndex: sets the file that Apache will serve if a directory# is requested.#<IfModule dir_module>DirectoryIndex index.html index.php index.htm index.jsp</IfModule>## The following lines prevent .htaccess and .htpasswd files from being# viewed by Web clients.#<Files ".ht*">Require all denied</Files>## ErrorLog: The location of the error log file.# If you do not specify an ErrorLog directive within a <VirtualHost># container, error messages relating to that virtual host will be# logged here. If you *do* define an error logfile for a <VirtualHost># container, that host's errors will be logged there and not here.#ErrorLog "logs/error.log"## LogLevel: Control the number of messages logged to the error_log.# Possible values include: debug, info, notice, warn, error, crit,# alert, emerg.#LogLevel warn<IfModule log_config_module>## The following directives define some format nicknames for use with# a CustomLog directive (see below).#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedLogFormat "%h %l %u %t \"%r\" %>s %b" common<IfModule logio_module># You need to enable mod_logio.c to use %I and %OLogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule>## The location and format of the access logfile (Common Logfile Format).# If you do not define any access logfiles within a <VirtualHost># container, they will be logged here. Contrariwise, if you *do*# define per-<VirtualHost> access logfiles, transactions will be# logged therein and *not* in this file.#CustomLog "logs/access.log" common## If you prefer a logfile with access, agent, and referer information# (Combined Logfile Format) you can use the following directive.##CustomLog "logs/access.log" combined</IfModule><IfModule alias_module>## Redirect: Allows you to tell clients about documents that used to# exist in your server's namespace, but do not anymore. The client# will make a new request for the document at its new location.# Example:# Redirect permanent /foo /bar## Alias: Maps web paths into filesystem paths and is used to# access content that does not live under the DocumentRoot.# Example:# Alias /webpath /full/filesystem/path## If you include a trailing / on /webpath then the server will# require it to be present in the URL. You will also likely# need to provide a <Directory> section to allow access to# the filesystem path.## ScriptAlias: This controls which directories contain server scripts.# ScriptAliases are essentially the same as Aliases, except that# documents in the target directory are treated as applications and# run by the server when requested rather than as documents sent to the# client. The same rules about trailing "/" apply to ScriptAlias# directives as to Alias.#ScriptAlias /cgi-bin/ "D:/apache-httpd/cgi-bin/"</IfModule><IfModule cgid_module>## ScriptSock: On threaded servers, designate the path to the UNIX# socket used to communicate with the CGI daemon of mod_cgid.##Scriptsock cgisock</IfModule>## "D:/apache-httpd/cgi-bin" should be changed to whatever your ScriptAliased# CGI directory exists, if you have that configured.#<Directory "D:/apache-httpd/cgi-bin">AllowOverride NoneOptions NoneRequire all granted</Directory><IfModule mime_module>## TypesConfig points to the file containing the list of mappings from# filename extension to MIME-type.#TypesConfig conf/mime.types## AddType allows you to add to or override the MIME configuration# file specified in TypesConfig for specific file types.##AddType application/x-gzip .tgz## AddEncoding allows you to have certain browsers uncompress# information on the fly. Note: Not all browsers support this.##AddEncoding x-compress .Z#AddEncoding x-gzip .gz .tgz## If the AddEncoding directives above are commented-out, then you# probably should define those extensions to indicate media types:#AddType application/x-compress .ZAddType application/x-gzip .gz .tgz## AddHandler allows you to map certain file extensions to "handlers":# actions unrelated to filetype. These can be either built into the server# or added with the Action directive (see below)## To use CGI scripts outside of ScriptAliased directories:# (You will also need to add "ExecCGI" to the "Options" directive.)##AddHandler cgi-script .cgi# For type maps (negotiated resources):#AddHandler type-map var## Filters allow you to process content before it is sent to the client.## To parse .shtml files for server-side includes (SSI):# (You will also need to add "Includes" to the "Options" directive.)##AddType text/html .shtml#AddOutputFilter INCLUDES .shtml</IfModule>## The mod_mime_magic module allows the server to use various hints from the # contents of the file itself to determine its type. The MIMEMagicFile# directive tells the module where the hint definitions are located.##MIMEMagicFile conf/magic## Customizable error responses come in three flavors:# 1) plain text 2) local redirects 3) external redirects## Some examples:#ErrorDocument 500 "The server made a boo boo."#ErrorDocument 404 /missing.html#ErrorDocument 404 "/cgi-bin/missing_handler.pl"#ErrorDocument 402 /subscription_info.html### MaxRanges: Maximum number of Ranges in a request before# returning the entire resource, or one of the special# values 'default', 'none' or 'unlimited'.# Default setting is to accept 200 Ranges.#MaxRanges unlimited## EnableMMAP and EnableSendfile: On systems that support it,# memory-mapping or the sendfile syscall may be used to deliver# files. This usually improves server performance, but must# be turned off when serving from networked-mounted# filesystems or if support for these functions is otherwise# broken on your system.# Defaults: EnableMMAP On, EnableSendfile Off##EnableMMAP off#EnableSendfile on# Supplemental configuration## The configuration files in the conf/extra/ directory can be# included to add extra features or to modify the default configuration of # the server, or you may simply copy their contents here and change as # necessary.# Server-pool management (MPM specific)#Include conf/extra/httpd-mpm.conf# Multi-language error messages#Include conf/extra/httpd-multilang-errordoc.conf# Fancy directory listings#Include conf/extra/httpd-autoindex.conf# Language settings#Include conf/extra/httpd-languages.conf# User home directories#Include conf/extra/httpd-userdir.conf# Real-time info on requests and configuration#Include conf/extra/httpd-info.conf# Virtual hosts#Include conf/extra/httpd-vhosts.conf# Local access to the Apache HTTP Server Manual#Include conf/extra/httpd-manual.conf# Distributed authoring and versioning (WebDAV)#Include conf/extra/httpd-dav.conf# Various default settings#Include conf/extra/httpd-default.conf# Configure mod_proxy_html to understand HTML4/XHTML1<IfModule proxy_html_module>Include conf/extra/proxy-html.conf</IfModule># Secure (SSL/TLS) connections#Include conf/extra/httpd-ssl.conf## Note: The following must must be present to support# starting without SSL on platforms with no /dev/random equivalent# but a statically compiled-in mod_ssl.#<IfModule ssl_module>SSLRandomSeed startup builtinSSLRandomSeed connect builtin</IfModule>完成配置后,启动Apache 2.4,在 "E:\apache-tomcat-7.0.50\webapps\ROOT" 添加静态页⾯ index.html。
Apache服务器和tomcat服务器
1.Apache服务器和tomcat服务器Apache应用服务器之三:为什么Apache与Tomcat要整合/uid-21266384-id-186473.html一.Apache与Tomcat介绍Apache是当前使用最为广泛的WWW服务器软件,具有相当强大的静态HTML 处理的能力。
Tomcat服务器是一个免费的开放源代码的Web应用服务器,它是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP 规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet 2.4和JSP 2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
二.为什么需要整合整合的最主要原因是为了在现有的硬件条件下提供最大的负载。
如果单独使用Tomcat做JSP服务器,在工作效率上会存在问题,Tomcat处理静态HTML的能力不如Apache,并且所能承受的最大并发连接数也有一定的限制;在测试中,当并发连接较多时,Tomcat就会处于“僵死”状态,对后继的请求连接失去响应。
所以现在提出一个“整合”解决方案:将html与jsp的功能部分进行明确分工,让tomcat只处理jsp部分,其它的由apache这个web server处理。
Apache与Tomcat各司其职,那么服务器的整体效率就能够得到提升。
三.整合的基本原理作为Apache下面的子项目,Tomcat 与Apache之间有着天然的联系。
Apache与Tomcat的区别 ,几种常见的web应用服务器
web服务器和应用服务器得区别
通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。
④ IPlanet Application Server
作为Sun与Netscape联盟产物的iPlanet公司生产的iPlanet Application Server 满足最新J2EE规范的要求。它是一种完整的WEB服务器应用解决方案,它允许企业以便捷的方式,开发、部署和管理关键任务 Internet 应用。该解决方案集高性能、高度可伸缩和高度可用性于一体,可以支持大量的具有多种客户机类型与数据源的事务。
⑥ Apache
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。
WebSphere 针对以 Web 为中心的开发人员,他们都是在基本 HTTP服务器和 CGI 编程技术上成长起来的。IBM 将提供 WebSphere 产品系列,通过提供综合资源、可重复使用的组件、功能强大并易于使用的工具、以及支持 HTTP 和 IIOP 通信的可伸缩运行时环境,来帮助这些用户从简单的 Web 应用程序转移到电子商务世界。
Apache与Tomcat的区别 ,几种常见的web/应用服务器
IIS6.0+tomcat6.0+JK整合(8080端口和80端口共用jsp网站)
经过这么久IIS和tomcat整合实践,积累了部分经验。
从一开始整合项目需要放到tomcat的webapps下面,而且必须需要tomcat里面ROOT的index.html 的跳转;到现在的可以把项目放在服务器的任何地方上,而也不需要index.html,只需要项目本身的index.jsp就能够进行访问。
总的来说,还是有一定提高。
现将IIS6.0和tomcat6.0的完美整合整理如下:一、整合环境:Windows Service 2003、JDK1.60、IIS7.0 和tomcat6.0二、使用技术:IIS6.0和TOMCAT6.0的默认端口不用改变,使用原有的80和8080即可,采用isapi_redirect-1.2.27.dll文件作为iis和tomcat的接口,使用就能访问tomcat中的jsp网站。
三、操作步骤说明:我的项目是放在E盘下,名字为zhdr,我的域名 是和服务器绑定的,在外网上输入:8080是可以访问到网站的,输入:8080/zhdr是可以访问网站的。
1、下载isapi_redirect-版本号.dll文件作为IIS与TOMCAT的接口,我下载的是isapi_redirect-1.2.27.dll,然后将文件放在${TOMCAT_HOME}/conf下。
2、使用记事本建立如下.reg文件,保存并执行:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]"log_file"="e://Program Files//Apache Software Foundation//Tomcat 6.0//logs""log_level"="info""worker_file"="e://Program Files//Apache Software Foundation//Tomcat 6.0//conf//workers.properties""worker_mount_file"="e://Program Files//Apache Software Foundation//Tomcat 6.0//conf//uriworkermap.properties""extension_uri"="/jakarta/isapi_redirect-1.2.27.dll"注意修改与tomcat相关的路径,一定要设置成为自己tomcat的路径。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Windows2003下Apache+Tomcat整合并配置虚拟主机全文档关键字:Apache2.0.55 ,Tomcat5.5.9 ,整合,虚拟主机,文档步骤:1、下载:a)下载Apache:本例选用Apache2.0.55版本,下载地址到Apache官方网站,/dist/httpd/binaries/win32/ 本例下载MSI格式安装文件apache_2.0.55-win32-x86-no_ssl.msib)下在JDK:本例采用JDK1.5c)下载Tomcat:本例选用Tomcat5.5.9版本,下载地址到Tomcat官方网站,/d)下载连接器jakarta-tomcat-connectors,下载地址/。
全部下载后,如下图所示2、安装:a)安装Apachei.直接双击Apache安装文件apache_2.0.55-win32-x86-no_ssl.msi安装,安装过程中,需要写入主机信息,如下图。
此外,选择for all users, on port 80,as a Service –Recommended选项。
ii.选择安装路径,如下图:iii.需要选择iv.安装完毕,如下图所示。
v.如果有防火墙,设置防火墙例外,如下图:vi.安装为服务后,启动Apache Service Monitor工具,打开Apache Service Monitor工具后,如下图所示,可以通过此工具直接启动、停止、重启的Apache服务器。
vii.测试安装是否成功,在地址栏输入:http://127.0.0.1/,若显示如下图,则表示Apache安装成功。
b)安装JDK,直接运行jdk-1_5_0_06-windows-i586-p.exe安装。
指定安装位置,如下图所示,本例安装于C:/Program Files\Java\jdk1.5.0_06目录下,记住此位置,在后边安装Tomcat的时候需要指定。
c)安装Tomcat,i.安装Tomcat,选择Tomcat安装路径,如下图:ii.iii.输入Tomcat的端口,后台管理帐户与密码,如下图,一定要牢记帐户密码,后边配置需要使用。
iv.v.选择JDK的安装路径,如下图,vi.vii.安装完毕后启动viii.ix.测试安装是否成功,在地址栏输入http://127.0.0.1:8080/ 此时,出现下边图这个页面则说明Tomcat安装通过。
3、配置:a)配置Apache虚拟主机:i.在http.conf最后加入一行LoadModule jk2_module modules/mod_jk2.soii.配置Apache的虚拟主机:本例子计划配置的两个虚拟主机为和 ,具体格式如下,请更改后加入你的http.conf文档中。
参数说明:ServerAdmin用来定义管理员E-Mail,用来在网站不能正常显示的时候显示,DocumentRoot定义虚拟主机的根目录,ServerName用来定义虚拟主机,ErrorLog定重新启动测试Apache虚拟主机,在c:/web目录下新建test.htm文件,用记事本打开输入Welcome to HaiNan SoftWare Profession Institute <br>web:保存。
在c:/bbs目录下新建test.htm文件,用记事本打开输入Welcome to HaiNan SoftWare Profession Institute <br>web:保存。
在地址栏输入/test.htm看到如下图:在地址栏输入/test.htm看到如下图,则说明Apache虚拟主机配置完成。
b)配置Tomcat:i.添加admin模块:配置Tomcat的虚拟主机,所有对于Tomcat的配置在本例中采用管理控制台来配置,在本例采用的Tomcat5.5.9版本中,默认是不带有管理控制台的,因此需要另外再下载,下载地址为/dist/tomcat/tomcat-5/archive/v5.5.9/bin/ ,选择jakarta-tomcat-5.5.9-admin.zip文件,下载后,解压,将server/webapps/下的admin目录复制到Tomcat安装目录的server/webapps/目录下,然后将conf/Catalina/localhost目录下的admin.xml文件复制到Tomcat安装目录的conf/Catalina/localhost目录下,然后重新启动Tomcat。
在地址栏中输入http://127.0.0.1:8080/admin/ ,如果出现如下界面说明admin管理控制台可以正常使用。
ii.配置Tomcat虚拟主机:在地址栏中输入http://127.0.0.1:8 080/admin/ ,输入安装时候的输入的用户名和密码,登入后如下图所示:然后点Service (Catalina),出现如下界面,然后选择Create New Host来创建主机;如下图,Name填写虚拟主机的名称,本例子填写,Application Base:填写虚拟主机的根目录,本例中指向C:/web文件夹,设置好后,点Save按钮保存测试虚拟主机:在C:/web文件夹下新建一个test.jsp文件,输入内容<%out.println("Welcome to HaiNan SoftWare Profession Institute");out.println("<br> web:");%>后保存,在地址栏输入:8080/test.jsp ,若出现如下界面,说明Tomcat 虚拟主机配置完成。
另外一个Tomcat虚拟主机配置过程与配置相同。
iii.啊c)整合Apache和Tomcat:i.解压连接器jakarta-tomcat-connectors,将modules目录下mod_jk2.so复制到Apache安装目录下的modules目录下。
ii.在http.conf的最后加上下边代码<IfModule !mod_jk2.c>LoadModule jk2_module modules/mod_jk2.so</IfModule>iii.在Apache的conf文件夹下新建workers2.properties文件(如果文件不存在新建),然后输入下边代码后保存:[channel.socket:localhost:8009]port=8009host=127.0.0.1[ajp13:localhost:8009]channel=channel.socket:localhost:8009#[uri:/*]#worker=ajp13:localhost:8009# Uri mapping[uri:127.0.0.1/*.jsp]worker=ajp13:localhost:8009[uri:/*.jsp]worker=ajp13:localhost:8009[uri:/*.jsp]worker=ajp13:localhost:8009iv.重新启动Apache,测试,在地址栏输入http://www.hnspi.ed /test.jsp ,如果看到如下图结果,则说明整合成功。
附录一:Apache以服务方式运行Apache仅能够在Windows NT上作为服务运行。
你可以选择在安装Apache时自动将其安装为一个服务。
如果你选择"for all us ers",那么Apache将会被安装为服务。
如果你选择了"only for the Current Us er",你可以在安装后手动将Apache注册为服务。
注意,你必须是Administrat ors组的成员才能成功注册服务。
使用Apache Service Monitor工具,可以查看和管理你所在网络上的所有机器上安装的Apache服务的状态。
为了能够使用这个工具管理Apache服务,你必须首先自动或手动安装Apache服务。
你可以在Apache安装目录的bin子目录下,使用如下命令将Apache安装为Windows NT服务:apache -k install如果你想指定服务的名称,可以使用下面的命令。
当你在同一机器上安装多个A pache服务时,你必须为它们指定不同的名字。
apache -k install -n "服务名"如果你想为不同名称的服务使用不同的配置文件,则安装时需要指定配置文件:apache -k install -n "服务名" -f "c:\files\my.conf"如果你使用的是第一个命令,也就是除-k install外没有其它命令行参数,那么被安装的服务名称将是:Apache2,配置文件将使用conf\httpd.con f。
要移除一个Apache服务很简单:apache -k uninstall或者使用下述命令移除特定名称的Apache服务:apache -k uninstall -n "服务名"通常,启动、重启、关闭Apache服务的方法是使用Apache Service Monitor 工具,另外也可以使用控制台命令:NET START Apache2和NET STOP Ap ache2或者通过Windows服务控制面板。
在启动Apache服务之前,你应当使用下面的命令检查一下配置文件的正确性:apache -n "服务名" -t你可以通过命令行开关来控制Apache服务。
要启动一个已经安装的Apache服务,可以使用:apache -k start要停止一个已经安装的Apache服务,可以使用:apache -k stop或apache -k shutdown要重启一个运行中的Apache服务,强制它重新读取配置文件,可以使用:apache -k restart附录二:Apache在Windows下的安全性默认情况下,Apache服务将被注册为以本地系统用户(LocalSystem帐号)身份运行。
LocalSystem帐号没有网络权限,不能通过任何Windows安全机制访问网络,包括文件系统、命名管道、DCOM或secure RPC ,但是它对于本地资源却拥有广泛的特权。
永远不要把网络权限授予LocalSystem帐号!如果你需要Apache能够访问网络资源,最好按照下述方法为Apache另外建立一个单独的帐号。
你应该建立一个单独的帐号来运行Apache服务。
特别是在必须通过Apache访问网络资源的时候,我们更加强烈建议你这样做。