??xml version="1.0" encoding="utf-8" standalone="yes"?>爱情岛论坛亚洲品质自拍视频网站,亚洲av片一区二区三区,在线a亚洲v天堂网2018http://www.tkk7.com/jjshcc/category/45346.htmlzh-cnWed, 15 Jul 2015 21:20:40 GMTWed, 15 Jul 2015 21:20:40 GMT60 Tomcat配置https及访问http自动跌{至httpshttp://www.tkk7.com/jjshcc/archive/2015/07/15/426226.htmlEric_jiangEric_jiangWed, 15 Jul 2015 00:51:00 GMThttp://www.tkk7.com/jjshcc/archive/2015/07/15/426226.htmlhttp://www.tkk7.com/jjshcc/comments/426226.htmlhttp://www.tkk7.com/jjshcc/archive/2015/07/15/426226.html#Feedback0http://www.tkk7.com/jjshcc/comments/commentRss/426226.htmlhttp://www.tkk7.com/jjshcc/services/trackbacks/426226.html阅读全文

Eric_jiang 2015-07-15 08:51 发表评论
]]>
Tomcat优化http://www.tkk7.com/jjshcc/archive/2015/05/11/424994.htmlEric_jiangEric_jiangMon, 11 May 2015 08:11:00 GMThttp://www.tkk7.com/jjshcc/archive/2015/05/11/424994.htmlhttp://www.tkk7.com/jjshcc/comments/424994.htmlhttp://www.tkk7.com/jjshcc/archive/2015/05/11/424994.html#Feedback1http://www.tkk7.com/jjshcc/comments/commentRss/424994.htmlhttp://www.tkk7.com/jjshcc/services/trackbacks/424994.html1. 如何加大tomcatq接?/strong>

在tomcat配置文gserver.xml中的<Connector ... />配置中,和连接数相关的参数有Q?/p>

maxThreads Q?tomcat起动的最大线E数Q即同时处理的Q务个敎ͼ默认gؓ200?/p>

minProcessorsQ最空闲连接线E数Q用于提高系l处理性能Q默认gؓ10 ?/p>

maxProcessorsQ最大连接线E数Q即Qƈ发处理的最大请求数Q默认gؓ75 ?/p>

acceptCountQ?当tomcat起动的线E数辑ֈ最大时Q接受排队的h个数Q默认gؓ100?/p>

minSpareThreads QTomcat初始化时创徏的线E数?/p>

maxSpareThreads Q一旦创建的U程过q个|Tomcat׃关闭不再需要的socketU程?/p>

enableLookupsQ是否反查域名,取gؓQtrue或false?~省gؓfalse,表示使用客户端主机名的DNS解析功能Q被ServletRequest.getRemoteHostҎ调用?/p>

connectionTimeoutQ网l连接超Ӟ单位Q毫U。设|ؓ0表示怸时Q这栯|有隐患的。通常可设|ؓ30000毫秒?/p>


其中和最大连接数相关的参CؓmaxProcessors和acceptCount。如果要加大q发q接敎ͼ应同时加大这两个参数?/p>

web server允许的最大连接数q受制于操作pȝ的内核参数设|,通常Windows?000个左叻ILinux?000个左叟?/p>

Unix中如何设|这些参敎ͼ请参?a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(100,102,179); text-decoration: underline; padding-top: 0px" target="_blank">Unix常用监控和管理命?/a>

tomcat5中的配置CZQ?/span>

<Connector port="8090" maxHttpHeaderSize="8169"  maxThreads="1000" minSpareThreads="75" maxSpareThreads="300"               enableLookups="false" redirectPort="8649" acceptCount="100" connectionTimeout="50000" disableUploadTimeout="true" URIEncoding="GBK"/>

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" minProcessors="10" maxProcessors="1024" enableLookups="false" redirectPort="8443" acceptCount="1024" debug="0" connectionTimeout="30000" /> 
对于其他端口的侦听配|,以此cL?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" />2. tomcat中如何禁止列目录下的文g

在{tomcat_home}/conf/web.xml中,把listings参数讄成false卛_Q如下:

<servlet> ... <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> ... </servlet>


3. 如何加大tomcat可以使用的内?/strong>

tomcat默认可以使用的内存ؓ128MBQ在较大型的应用目中,q点内存是不够的Q需要调大?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" />Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下讄Q?/p>

JAVA_OPTS='-Xms【初始化内存大小?-Xmx【可以用的最大内存? 需要把q个两个参数D大?/p>

例如Q?JAVA_OPTS='-Xms256m -Xmx512m' 表示初始化内存ؓ256MBQ可以用的最大内存ؓ512MB ?/p>

 

export JAVA_HOME='/home/ftpuser/xjSheetHome/java/jdk1.5.0_22/'

JAVA_OPTS="-Xms1500m -Xmx1500m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m -Dfile.encoding=GBK"

参数说明Q?/p>

-Xms 是指讑֮E序启动时占用内存大。一般来Ԍ大点Q程序会启动?快一点,但是也可能会D机器暂时间变慢?/p>

-Xmx 是指讑֮E序q行期间最大可占用的内存大。如果程序运行需要占 用更多的内存Q超Zq个讄|׃抛出OutOfMemory 异常?/p>

-Xss 是指讑֮每个U程的堆栈大。这个就要依据你的程序,看一个线E?大约需要占用多内存,可能会有多少U程同时q行{?/p>

-XX:PermSize讄非堆内存初始|默认是物理内存的1/64 ?/p>

-XX:MaxPermSize讄最大非堆内存的大小Q默认是物理内存?/4?/p>

 

 

 

<Context path="/Sheet" defaultSessionTimeOut="3600" docBase="/home/user/Sheet"  >
  <Resource name="jdbc/app" auth="Container"
                        type="javax.sql.DataSource"
                        username="SHEET" password="SHEET"
            driverClassName="oracle.jdbc.driver.OracleDriver"
            url="jdbc:oracle:thin:@136.24.248.106:1521:kf"
            maxActive="1000" maxIdle="75"/>
  <ResourceLink name="UserTransaction"
            global="UserTransaction"
            type="javax.transaction.UserTransaction"/>
</Context>
参数说明Q?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" />defaultSessionTimeOutQ设|会话时?单位为秒
maxActive Q?q接池的最大数据库q接数。设?表示无限制?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" />maxIdle Q可以同旉|在q接池中的连接的最大数  
maxWait Q?最大超时时_以毫U计



Eric_jiang 2015-05-11 16:11 发表评论
]]>
Tomcat q发优化http://www.tkk7.com/jjshcc/archive/2015/05/11/424993.htmlEric_jiangEric_jiangMon, 11 May 2015 08:03:00 GMThttp://www.tkk7.com/jjshcc/archive/2015/05/11/424993.htmlhttp://www.tkk7.com/jjshcc/comments/424993.htmlhttp://www.tkk7.com/jjshcc/archive/2015/05/11/424993.html#Feedback0http://www.tkk7.com/jjshcc/comments/commentRss/424993.htmlhttp://www.tkk7.com/jjshcc/services/trackbacks/424993.html阅读全文

Eric_jiang 2015-05-11 16:03 发表评论
]]>
TOMCAT优化http://www.tkk7.com/jjshcc/archive/2015/05/11/424992.htmlEric_jiangEric_jiangMon, 11 May 2015 07:58:00 GMThttp://www.tkk7.com/jjshcc/archive/2015/05/11/424992.htmlhttp://www.tkk7.com/jjshcc/comments/424992.htmlhttp://www.tkk7.com/jjshcc/archive/2015/05/11/424992.html#Feedback0http://www.tkk7.com/jjshcc/comments/commentRss/424992.htmlhttp://www.tkk7.com/jjshcc/services/trackbacks/424992.html1.内存讄(VM参数调优)
(1). Windows环境下,是tomcat解压?执行startup.bat启动tomcat) ,解决办法:
修改“%TOMCAT_HOME%\bin\catalina.bat”文gQ在文g开头增加如下设|:
set JAVA_OPTS=-Xms512m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=512m
备注Q一定加在catalina.bat最前面?br />(2). Windows环境下,是tomcat安装?利用windows的系l服务启动tomcat),解决办法:
修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\JavaOptions
原gؓ:
-Dcatalina.home=E:\Tomcat 6.0
-Dcatalina.base=E:\Tomcat 6.0
-Djava.endorsed.dirs=E:\Tomcat 6.0\common\endorsed
-Djava.io.tmpdir=E:\Tomcat 6.0\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=E:\Tomcat 6.0\conf\logging.properties
加入Q?br />Xms512m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=512m
重vtomcat服务,讄生效?br />(3). Linux环境? ,解决办法:
修改“%TOMCAT_HOME%\bin\catalina.sh”文gQ在文g开头增加如下设|:JAVA_OPTS=’-Xms256m -Xmx512m’

各参数详解:
-XmsQ设|JVM初始内存大小(默认是物理内存的1/64)
-XmxQ设|JVM可以使用的最大内?默认是物理内存的1/4Q徏议:物理内存80%)
-XmnQ设|JVM最内?128-256m够?一般不讄)

默认IZ堆内存小?40%ӞJVM׃增大堆直?Xmx的最大限ӞIZ堆内存大?0%ӞJVM会减堆直到-Xms的最限制。因此服务器一般设|?Xms?-Xmx相等以避免在每次GC 后调整堆的大?br />在较大型的应用项目中Q默认的内存是不够的Q有可能Dpȝ无法q行。常见的问题是报Tomcat内存溢出错误“java.lang.OutOfMemoryError: Java heap space”Q从而导致客L昄500错误?br />
-XX:PermSize QؓJVM启动时Perm的内存大?br />-XX:MaxPermSize Qؓ最大可占用的Perm内存大小(默认?2M)
-XX:MaxNewSizeQ默认ؓ16M

PermGen space的全U是Permanent Generation space,是指内存的永久保存区域,q块内存主要是被JVM存放Class和Meta信息?Class在被Loader时就会被攑ֈPermGen space中,它和存放cd?Instance)的Heap区域不同,GC(Garbage Collection)不会在主E序q行期对PermGen spaceq行清理Q所以如果你的应用中有很CLASS的话,很可能出现“java.lang.OutOfMemoryError: PermGen space”错误?br />对于WEB目Qjvm加蝲cLQ永久域中的对象急剧增加Q从而jvm不断调整怹域大,Z避免调整)Q你可以使用更多的参数配|。如果你的WEB APP下都用了大量的第三方jar, 其大超q了jvm默认的大?那么׃产生此错误信息了?br />其它参数Q?br />-XX:NewSize Q默认ؓ2MQ此D大可调大新对象区Q减Full GCơ数
-XX:NewRatio Q改变新旧空间的比例Q意思是新空间的寸是旧I间?/8Q默认ؓ8Q?br />-XX:SurvivorRatio Q改变Eden对象I间和残存空间的寸比例Q意思是Eden对象I?br />间的寸比残存空间大survivorRatio+2倍(~省值是10Q?br />-XX:userParNewGC 可用来设|ƈ行收集【多CPU?br />-XX:ParallelGCThreads 可用来增加ƈ行度【多CPU?br />-XXUseParallelGC 讄后可以用ƈ行清除收集器【多CPU?/span>
2.修改tomcat让其支持NIO
修改前:
protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
修改成支持NIO的类型,配置如下 Q?br />protocol="org.apache.coyote.http11.Http11NioProtocol " connectionTimeout="20000" redirectPort="8443" />
3.q发数设|?/span>
默认的tomcat配置Qƈ发测试时Q可?0个USER上去当Z?br />d

maxThreads="600" //最大线E数
minSpareThreads="100" //初始化时创徏的线E数
maxSpareThreads="500" //一旦线E超q这个|Tomcat会关闭不需要的socketU程
acceptCount="700"http://指定当所有可以用的处理h的线E数都被使用Ӟ可以攑ֈ
处理队列中的h敎ͼ过q个数的h不予处?/span>
connectionTimeout="20000"
redirectPort="8443" />

或?br />name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="400" />

executor="tomcatThreadPool" port="80" protocol="HTTP/1.1" connectionTimeout="20000" enableLookups="false"
redirectPort="8443" URIEncoding="UTF-8" acceptCount="1000" />
4.Java虚拟?/span>
应该选择SUN的JVMQ在满目需要的前提下,量选用版本较高的JVMQ一般来说高版本产品在速度和效率上比低版本会有改进?JDK1.4比JDK1.3性能提高了近10%-20%QJDK1.5比JDK1.4性能提高25%-75%?br />5.用DNS查询
讄enableLookups="false"Q?br />enableLookups="false" redirectPort="8443" URIEncoding="UTF-8" acceptCount="1000" />
 当web应用E序向要记录客户端的信息Ӟ它也会记录客L的IP地址或者通过域名服务器查找机器名转换为IP地址。DNS查询需要占用网l,q且包括可能从很多很q的服务器或者不起作用的服务器上去获取对应的IP的过E,q样会消耗一定的旉。ؓ了消除DNS查询Ҏ能的媄响我们可以关?DNS查询Q方式是修改server.xml文g中的enableLookups参数gؓfalse?br />6.讄解决q问题
URIEncoding="UTF-8" acceptCount="1000" />

二、TOMCAT内存监控

1.讄tomcat的perm size:

2.开启监?/p>

在命令行输入jconsoleQ在弹出H口中徏立本地端口监控,如下图:

 

使用安装版Tomcat 6.0 Q打开tomcat界面选择javaq一,在java options:
加入

Java代码 复制代码 收藏代码
  1. -Djava.rmi.server.hostname=127.0.0.1 
  2. -Dcom.sun.management.jmxremote.port=8088 
  3. -Dcom.sun.management.jmxremote.ssl=false 
  4. -Dcom.sun.management.jmxremote.authenticate=false 
  1. -Djava.rmi.server.hostname=127.0.0.1  
  2. -Dcom.sun.management.jmxremote.port=8088  
  3. -Dcom.sun.management.jmxremote.ssl=false  
  4. -Dcom.sun.management.jmxremote.authenticate=false  

使用jconsole 127.0.0.1:8088可以q接成功Q也能看到jvmq行情况Q?br />但此时访问已l部|的应用Q却提示“无法昄|页”
今天又研I了一会,猜想了一下是不是q个端口独占的,不能和应用冲H,把Dcom.sun.management.jmxremote.port=8088 改ؓ80Q?重启tomcat 果然Q应用可以访问。之后去|上看来些相关信息,实Z个端口,不能占用?/p>

Eric_jiang 2015-05-11 15:58 发表评论
]]>
Apache HTTP Server ?Tomcat 的三U连接方式介l?/title><link>http://www.tkk7.com/jjshcc/archive/2015/03/19/423637.html</link><dc:creator>Eric_jiang</dc:creator><author>Eric_jiang</author><pubDate>Thu, 19 Mar 2015 09:35:00 GMT</pubDate><guid>http://www.tkk7.com/jjshcc/archive/2015/03/19/423637.html</guid><wfw:comment>http://www.tkk7.com/jjshcc/comments/423637.html</wfw:comment><comments>http://www.tkk7.com/jjshcc/archive/2015/03/19/423637.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/jjshcc/comments/commentRss/423637.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/jjshcc/services/trackbacks/423637.html</trackback:ping><description><![CDATA[<p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">首先我们先介l一下ؓ什么要?Apache ?Tomcat 之间q行q接。事实上 Tomcat 本n已经提供?HTTP 服务Q该服务默认的端口是 8080Q装?tomcat 后通过 8080 端口可以直接使用 Tomcat 所q行的应用程序,你也可以该端口改ؓ 80?/p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">既然 Tomcat 本n已经可以提供q样的服务,我们Z么还要引?Apache 或者其他的一些专门的 HTTP 服务器呢Q原因有下面几个Q?/p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">1. 提升寚w态文件的处理性能</p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">2. 利用 Web 服务器来做负载均衡以及容?/p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">3. 无缝的升U应用程?/p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">q三点对一?web |站来说是非怹重要的,我们希望我们的网站不仅是速度快,而且要稳定,不能因ؓ某个 Tomcat 宕机或者是升E序D用户讉K不了Q而能完成q几个功能的、最好的 HTTP 服务器也只?apache ?http server 了,它跟 tomcat 的结合是最紧密和可靠的?/p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">接下来我们介l三U方法将 apache ?tomcat 整合在一赗?/p><h2>JK</h2><p style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">q是最常见的方式,你可以在|上扑ֈ很多关于配置JK的网,当然最全的q是其官Ҏ提供的文档。JK 本n有两个版本分别是 1 ?2Q目?1 最新的版本?1.2.19Q而版?2 早已l废弃了Q以后不再有新版本的推出了,所以徏议你采用版本 1?/p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">JK 是通过 AJP 协议?Tomcat 服务器进行通讯的,Tomcat 默认?AJP Connector 的端口是 8009。JK 本n提供了一个监控以及管理的面 jkstatusQ通过 jkstatus 可以监控 JK 目前的工作状态以及对?tomcat 的连接进行设|,如下图所C:</p><h5>?1Q监控以及管理的面 jkstatus</h5><img alt="?1Q监控以及管理的面 jkstatus" border="0" src="http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/images/image002.jpg" width="554" style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 12.8000001907349px; vertical-align: baseline; font-family: Arial, sans-serif; line-height: 15.3600006103516px; background-color: #ffffff;" /><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">在这个图中我们可以看到当前JK配了两个q接分别?8109 ?8209 端口上,目前 s2 q个q接是停止状态,?s1 q个q接自上ơ重启后已经处理?47 万多个请求,量辑ֈ 6.2 ?GQ最大的q发数有 13 {等。我们也可以利用 jkstatus 的管理功能来切换 JK C同的 Tomcat 上,例如?s2 启用Qƈ停用 s1Q这个在更新应用E序的时候非常有用,而且整个切换q程对用h说是透明的,也就辑ֈ了无~升U的目的。关?JK 的配|文章网上已l非常多了,q里我们不再详细的介l整个配|过E,但我要讲一下配|的思\Q只要明白了配置的思\QJK 是一个非常灵zȝlg?/p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">JK 的配|最关键的有三个文gQ分别是</p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: inherit; vertical-align: baseline;">httpd.conf </strong><br />Apache 服务器的配置文gQ用来加?JK 模块以及指定 JK 配置文g信息</p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: inherit; vertical-align: baseline;">workers.properties</strong><br />?Tomcat 服务器的q接定义文g</p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: inherit; vertical-align: baseline;">uriworkermap.properties</strong><br />URI 映射文gQ用来指定哪?URL ?Tomcat 处理Q你也可以直接在 httpd.conf 中配|这?URIQ但是独立这些配|的好处?JK 模块会定期更新该文g的内容,使得我们修改配置的时候无需重新启动 Apache 服务器?/p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">其中W二、三个配|文件名都可以自定义。下面是一个典型的 httpd.conf ?JK 的配|?/p><h5><div style="margin: 0px; border: 0px; outline: 0px; font-size: inherit; vertical-align: baseline;"><pre style="margin-top: 0px; border: 1px solid #cccccc; outline: 0px; font-size: 11px; vertical-align: baseline; width: 780px; font-family: 'Andale Mono', 'Lucida Console', Monaco, Liberation, fixed, monospace; overflow: auto; clear: right; margin-bottom: 6px !important; padding: 5px 10px 5px 3px !important; background: #f7f7f7 !important;"># (httpd.conf) # 加蝲 mod_jk 模块 LoadModule jk_module modules/mod_jk.so # # Configure mod_jk # JkWorkersFile conf/workers.properties JkMountFile conf/uriworkermap.properties JkLogFile logs/mod_jk.log JkLogLevel warn</pre></div><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; color: #222222; line-height: 1.5em; font-size: 1.166em !important;">接下来我们在 Apache ?conf 目录下新Z个文件分别是 workers.properties、uriworkermap.properties。这两个文g的内容大概如?/p></h5><h5><div style="margin: 0px; border: 0px; outline: 0px; font-size: inherit; vertical-align: baseline;"><pre style="margin-top: 0px; border: 1px solid #cccccc; outline: 0px; font-size: 11px; vertical-align: baseline; width: 780px; font-family: 'Andale Mono', 'Lucida Console', Monaco, Liberation, fixed, monospace; overflow: auto; clear: right; margin-bottom: 6px !important; padding: 5px 10px 5px 3px !important; background: #f7f7f7 !important;"># # workers.properties # # list the workers by name worker.list=DLOG4J, status # localhost server 1 # ------------------------ worker.s1.port=8109 worker.s1.host=localhost worker.s1.type=ajp13 # localhost server 2 # ------------------------ worker.s2.port=8209 worker.s2.host=localhost worker.s2.type=ajp13 worker.s2.stopped=1 worker.DLOG4J.type=lb worker.retries=3 worker.DLOG4J.balanced_workers=s1, s2 worker.DLOG4J.sticky_session=1 worker.status.type=status</pre></div><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; color: #222222; line-height: 1.5em; font-size: 1.166em !important;">以上?workers.properties 配置是我们前面那个屏幕抓图的页面所用的配置。首先我们配|了两个cd?ajp13 ?worker 分别?s1 ?s2Q它们指向同一台服务器上运行在两个不同端口 8109 ?8209 ?Tomcat 上。接下来我们配置了一个类型ؓ lbQ也是负蝲均衡的意思)?workerQ它的名字是 DLOG4JQ这是一个逻辑?workerQ它用来理前面配置的两个物理连?s1 ?s2。最后还配置了一个类型ؓ status ?workerQ这是用来监?JK 本n的模块。有了这三个 worker q不够,我们q需要告?JKQ哪?worker 是可用的Q所以就?nbsp;<strong style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: inherit; vertical-align: baseline;">worker.list = DLOG4J, status</strong> q行配置?/p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; color: #222222; line-height: 1.5em; font-size: 1.166em !important;">接下来便?URI 的映配|了Q我们需要指定哪些链接是?Tomcat 处理的,哪些是由 Apache 直接处理的,看看下面q个文g你就能明白其中配|的意义</p></h5><h5><div style="margin: 0px; border: 0px; outline: 0px; font-size: inherit; vertical-align: baseline;"><pre style="margin-top: 0px; border: 1px solid #cccccc; outline: 0px; font-size: 11px; vertical-align: baseline; width: 780px; font-family: 'Andale Mono', 'Lucida Console', Monaco, Liberation, fixed, monospace; overflow: auto; clear: right; margin-bottom: 6px !important; padding: 5px 10px 5px 3px !important; background: #f7f7f7 !important;">/*=DLOG4J /jkstatus=status !/*.gif=DLOG4J !/*.jpg=DLOG4J !/*.png=DLOG4J !/*.css=DLOG4J !/*.js=DLOG4J !/*.htm=DLOG4J !/*.html=DLOG4J</pre></div><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; color: #222222; line-height: 1.5em; font-size: 1.166em !important;">怿你已l明白了一大半了:所有的h都由 DLOG4J q个 worker q行处理Q但是有几个例外Q?jkstatus h?status q个 worker 处理。另外这个配|中每一行数据前面的感叹h什么意思呢Q感叹号表示接下来的 URI 不要?JK q行处理Q也是 Apache 直接处理所有的囄、css 文g、js 文g以及静?html 文本文g?/p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; color: #222222; line-height: 1.5em; font-size: 1.166em !important;">通过?workers.properties ?uriworkermap.properties 的配|,可以有各U各Ll合来满x们前面提出对一?web |站的要求。您不妨动手试试Q?/p><div style="margin: 10px 0px; border: 0px; outline: 0px; font-size: inherit; vertical-align: baseline; height: 1px; clear: both; background-color: #cccccc;"></div><p ibm-back-to-top"="" style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; color: #222222; clear: both; text-align: right; height: 26px; line-height: 1.5em; font-size: 1.166em !important;"><a style="margin: 0px; padding: 0px 0px 0px 16px; border-width: 0px; border-bottom-style: none; outline: 0px; font-size: inherit; vertical-align: baseline; opacity: 0.8; display: inline; text-decoration: none; line-height: 1.065em; color: #000000 !important; background-image: url(http://1.www.s81c.com/i/v17/icons/ibm_sprite_arrow_blue_ON.png) !important; background-position: 0px -401px; background-repeat: no-repeat;">回页?/a></p></h5><h2>http_proxy</h2><p style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">q是利用 Apache 自带?mod_proxy 模块使用代理技术来q接 Tomcat。在配置之前L保是否用的?2.2.x 版本?Apache 服务器。因?2.2.x 版本对这个模块进行了重写Q大大的增强了其功能和稳定性?/p><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">http_proxy 模式是基?HTTP 协议的代理,因此它要?Tomcat 必须提供 HTTP 服务Q也是说必d?Tomcat ?HTTP Connector。一个最单的配置如下</p><h5><div style="margin: 0px; border: 0px; outline: 0px; font-size: inherit; vertical-align: baseline;"><pre style="margin-top: 0px; border: 1px solid #cccccc; outline: 0px; font-size: 11px; vertical-align: baseline; width: 780px; font-family: 'Andale Mono', 'Lucida Console', Monaco, Liberation, fixed, monospace; overflow: auto; clear: right; margin-bottom: 6px !important; padding: 5px 10px 5px 3px !important; background: #f7f7f7 !important;">ProxyPass /images ! ProxyPass /css ! ProxyPass /js ! ProxyPass / http://localhost:8080/</pre></div><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; color: #222222; line-height: 1.5em; font-size: 1.166em !important;">在这个配|中Q我们把所?http://localhost 的请求代理到 http://localhost:8080/ Q这也就?Tomcat 的访问地址Q除?images、css、js 几个目录除外。我们同样可以利?mod_proxy 来做负蝲均衡Q再看看下面q个配置</p></h5><h5><div style="margin: 0px; border: 0px; outline: 0px; font-size: inherit; vertical-align: baseline;"><pre style="margin-top: 0px; border: 1px solid #cccccc; outline: 0px; font-size: 11px; vertical-align: baseline; width: 780px; font-family: 'Andale Mono', 'Lucida Console', Monaco, Liberation, fixed, monospace; overflow: auto; clear: right; margin-bottom: 6px !important; padding: 5px 10px 5px 3px !important; background: #f7f7f7 !important;">ProxyPass /images ! ProxyPass /css ! ProxyPass /js ! ProxyPass / balancer://example/ <Proxy balancer://example/> BalancerMember http://server1:8080/ BalancerMember http://server2:8080/ BalancerMember http://server3:8080/ </Proxy></pre></div><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; color: #222222; line-height: 1.5em; font-size: 1.166em !important;">配置?JK 单多了,而且它也可以通过一个页面来监控集群q行的状态,q做一些简单的l护讄?/p></h5><h5>?2Q监控集运行状?/h5><img alt="?2Q监控集运行状? border="0" src="http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/images/image004.gif" width="553" style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 12.8000001907349px; vertical-align: baseline; font-family: Arial, sans-serif; line-height: 15.3600006103516px; background-color: #ffffff;" /><div style="margin: 10px 0px; border: 0px; outline: 0px; font-size: 12.8000001907349px; vertical-align: baseline; font-family: Arial, sans-serif; height: 1px; clear: both; line-height: 15.3600006103516px; background-color: #cccccc;"></div><p ibm-back-to-top"="" style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; clear: both; text-align: right; height: 22px; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;"><a style="margin: 0px; padding: 0px 0px 0px 16px; border-width: 0px; border-bottom-style: none; outline: 0px; font-size: inherit; vertical-align: baseline; color: #745285; opacity: 0.8; display: inline; text-decoration: none; line-height: 1.065em; font-weight: bold; background-image: url(http://1.www.s81c.com/i/v17/icons/ibm_sprite_arrow_blue_ON.png) !important; background-position: 0px -401px; background-repeat: no-repeat;">回页?/a></p><h2>ajp_proxy</h2><p style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">ajp_proxy q接方式其实?http_proxy 方式一P都是?mod_proxy 所提供的功能。配|也是一P只需要把 http:// 换成 ajp:// Q同时连接的?Tomcat ?AJP Connector 所在的端口。上面例子的配置可以改ؓQ?/p><h5><div style="margin: 0px; border: 0px; outline: 0px; font-size: inherit; vertical-align: baseline;"><pre style="margin-top: 0px; border: 1px solid #cccccc; outline: 0px; font-size: 11px; vertical-align: baseline; width: 780px; font-family: 'Andale Mono', 'Lucida Console', Monaco, Liberation, fixed, monospace; overflow: auto; clear: right; margin-bottom: 6px !important; padding: 5px 10px 5px 3px !important; background: #f7f7f7 !important;">ProxyPass /images ! ProxyPass /css ! ProxyPass /js ! ProxyPass / balancer://example/ <Proxy balancer://example/> BalancerMember ajp://server1:8080/ BalancerMember ajp://server2:8080/ BalancerMember ajp://server3:8080/ </Proxy></pre></div><p style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; color: #222222; line-height: 1.5em; font-size: 1.166em !important;">采用 proxy 的连接方式,需要在 Apache 上加载所需的模块,mod_proxy 相关的模块有 mod_proxy.so、mod_proxy_connect.so、mod_proxy_http.so、mod_proxy_ftp.so、mod_proxy_ajp.soQ?其中 mod_proxy_ajp.so 只在 Apache 2.2.x 中才有。如果是采用 http_proxy 方式则需要加?mod_proxy.so ?mod_proxy_http.soQ如果是 ajp_proxy 则需要加?mod_proxy.so ?mod_proxy_ajp.soq两个模块?/p><div style="margin: 10px 0px; border: 0px; outline: 0px; font-size: inherit; vertical-align: baseline; height: 1px; clear: both; background-color: #cccccc;"></div><p ibm-back-to-top"="" style="margin: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; color: #222222; clear: both; text-align: right; height: 26px; line-height: 1.5em; font-size: 1.166em !important;"><a style="margin: 0px; padding: 0px 0px 0px 16px; border-width: 0px; border-bottom-style: none; outline: 0px; font-size: inherit; vertical-align: baseline; opacity: 0.8; display: inline; text-decoration: none; line-height: 1.065em; color: #000000 !important; background-image: url(http://1.www.s81c.com/i/v17/icons/ibm_sprite_arrow_blue_ON.png) !important; background-position: 0px -401px; background-repeat: no-repeat;">回页?/a></p></h5><h2>三者比?/h2><p style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 6px 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, sans-serif; color: #222222; line-height: 1.5em; font-size: 1.166em !important; background-color: #ffffff;">相对?JK 的连接方式,后两U在配置上是比较单的Q灵zL方面也一炚w不逊色。但q定性而言׃?JK q样久经考验Q毕?Apache 2.2.3 推出的时间ƈ不长Q采用这U连接方式的|站q不多,因此Q如果是应用于关键的互联|网站,q是采用 JK 的连接方式?/p><img src ="http://www.tkk7.com/jjshcc/aggbug/423637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/jjshcc/" target="_blank">Eric_jiang</a> 2015-03-19 17:35 <a href="http://www.tkk7.com/jjshcc/archive/2015/03/19/423637.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IHS配置多域名的SSL证书http://www.tkk7.com/jjshcc/archive/2014/05/13/413591.htmlEric_jiangEric_jiangTue, 13 May 2014 04:47:00 GMThttp://www.tkk7.com/jjshcc/archive/2014/05/13/413591.htmlhttp://www.tkk7.com/jjshcc/comments/413591.htmlhttp://www.tkk7.com/jjshcc/archive/2014/05/13/413591.html#Feedback0http://www.tkk7.com/jjshcc/comments/commentRss/413591.htmlhttp://www.tkk7.com/jjshcc/services/trackbacks/413591.html

SSL v2的设计顺应经典的公钥基础设施PKI(public key infrastructure)设计Q后者认Z个服务器只提供一个服务从而也只使用一个证书。这意味着服务器可以在TLS启动的早期阶D发送或提交证书Q因为它知道它在为哪个域服务。HTTP服务器开启虚拟主机支持后Q每个服务器通过相同的地址可以为很多域提供服务。服务器查每一个请求来军_它在为哪个域服务。这个信息通常从HTTPh头获得。不q的是,当设|了TLS加密Q服务器在读取HTTPh里面的域名之前已l向客户端提交了证书Q也是已经为默认域提供了服务。因此,q种拟主机提供安全的单途径l常D使用了错误的数字证书Q从而导致浏览器对用户发告?/div>
以上描述摘自OpenWares。详l了解请刎ͼ服务器名字指CSNI(Server Name Indication)
卌问www.buyberry.net会读取到beta.buyberry.net的证书,q样览器会报证书错误?/div>
因此需要Server Name Indication (RFC 4366)q个扩展协议来修正。标准apache是支持Name Based SSL VHosts With SNI 。前提需?OpenSSL 0.9.8f 之后才能支持。但是IHSq不支持q个扩展协议?/div>
只能使用Z端口或者基于IP的虚拟主机来workaround
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
Listen 443
Listen 444
NameVirtualHost www.buyberry.net:443
ServerName www.buyberry.net
SSLCipherSpec 34
SSLCipherSpec 35
SSLCipherSpec 3A
SSLCipherSpec 33
SSLCipherSpec 36
SSLCipherSpec 39
SSLCipherSpec 32
SSLCipherSpec 31
SSLCipherSpec 30
DocumentRoot “/ihs/htdocs”
SSLEnable
SSLClientAuth none
Keyfile “/ihs/sslkey20121227/key.kdb”
ErrorLog logs/ssl1_error_log
CustomLog logs/ssl1_access_log common env=!image
#########################################
NameVirtualHost beta.buyberry.net:444
ServerName beta.buyberry.net
SSLCipherSpec 34
SSLCipherSpec 35
SSLCipherSpec 3A
SSLCipherSpec 33
SSLCipherSpec 36
SSLCipherSpec 39
SSLCipherSpec 32
SSLCipherSpec 31
SSLCipherSpec 30
DocumentRoot “/ihs/htdocs”
SSLEnable
SSLClientAuth none
Keyfile “/ihs/2012key/2012key.kdb”
ErrorLog logs/ssl2_error_log
CustomLog logs/ssl2_access_log common env=!image


Eric_jiang 2014-05-13 12:47 发表评论
]]>Java Socket HTTP hhttp://www.tkk7.com/jjshcc/archive/2013/11/29/406980.htmlEric_jiangEric_jiangFri, 29 Nov 2013 02:13:00 GMThttp://www.tkk7.com/jjshcc/archive/2013/11/29/406980.htmlhttp://www.tkk7.com/jjshcc/comments/406980.htmlhttp://www.tkk7.com/jjshcc/archive/2013/11/29/406980.html#Feedback0http://www.tkk7.com/jjshcc/comments/commentRss/406980.htmlhttp://www.tkk7.com/jjshcc/services/trackbacks/406980.html
package com.test.socket;
import java.io.*;
import java.net.*;
 
public class HTTPSocket
  {
      public static void main(String[ ] args) throws UnknownHostException, IOException
     {
          String host = "127.0.0.1";
          int port = 8080;
          Socket socket = new Socket(host, port);
          
          BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
          BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
          
          StringBuffer sb = new StringBuffer();
          //h的连接地址
          sb.append("GET /PortalGuard/Index.jsp HTTP/1.1\r\n")
           .append("Host:"+ host + "\r\n")
            .append("Content-Type:application/x-www-form-urlencoded\r\n")
            .append("Content-Length:11\r\n")            //11 q个数值是看底下内容的长度?卛_个字符
            .append("\r\n")
            .append("id=01234567\r\n");                  //内容
          
          out.write(sb.toString());
          out.flush();
          
          //打印响应
          String line = "";
          while((line = in.readLine()) != null)
              System.out.println(line);
      }
  }


Eric_jiang 2013-11-29 10:13 发表评论
]]>单实现HTTP服务器来理解GET和POST区别http://www.tkk7.com/jjshcc/archive/2013/11/29/406976.htmlEric_jiangEric_jiangFri, 29 Nov 2013 01:46:00 GMThttp://www.tkk7.com/jjshcc/archive/2013/11/29/406976.htmlhttp://www.tkk7.com/jjshcc/comments/406976.htmlhttp://www.tkk7.com/jjshcc/archive/2013/11/29/406976.html#Feedback0http://www.tkk7.com/jjshcc/comments/commentRss/406976.htmlhttp://www.tkk7.com/jjshcc/services/trackbacks/406976.html阅读全文

Eric_jiang 2013-11-29 09:46 发表评论
]]>
TOMCAT-SSL双向认证-配置实例http://www.tkk7.com/jjshcc/archive/2013/11/28/406960.htmlEric_jiangEric_jiangThu, 28 Nov 2013 09:23:00 GMThttp://www.tkk7.com/jjshcc/archive/2013/11/28/406960.htmlhttp://www.tkk7.com/jjshcc/comments/406960.htmlhttp://www.tkk7.com/jjshcc/archive/2013/11/28/406960.html#Feedback0http://www.tkk7.com/jjshcc/comments/commentRss/406960.htmlhttp://www.tkk7.com/jjshcc/services/trackbacks/406960.html

SSL (Secure Socket Layer - 安全套接字层)

功能Q保障在Internet上数据传输之安全Q利用数据加?/span>(Encryption)技术,保数据在网l上之传输过E中不会被截取及H听Q防止篡攏V?/span>

 

如何让我们的WEB应用E序应用SSL安全保障Q经q几天摸索,l于实现 TOMCAT+SSL 双向认证Q也是_首先Q客L要认证服务器的安全性,保讉K的是正确的服务器Q而非假冒的钓鱼网站;其次Q服务器也要认证客户端的安全性,只有那些拥有服务器授权证书的客户端才可以讉K?/span>

 

下面请遵循详l步?/span>

1.       ?/span>D盘徏立目录:mykeys

2.       启动命o行,q{Ud d:/mykeys

a)         创徏服务器密钥,其密钥库?/span> d:/mykeys/server.ksQ注?/span>keypass?/span>storepass保持一_它们分别代表 密钥密码和密钥库密码Q注?/span> CN=localhost 中,localhost表示要配|?/span>SSL的主机名Q不能Q意指?/span>
D:/mykeys>keytool -genkey -v -alias serverKey -dname "CN=localhost" -keyalg RSA -keypass rwm258-keystore server.ks -storepass rwm258

b)        创徏客户端密钥,其密钥库?/span> d:/mykeys/client.p12Q注意这个密钥库的后~名,注意密钥库类?/span>PKCS12
D:/mykeys>keytool -genkey -v -alias clientKey -dname "CN=SomeOne" -keyalg RSA -keypass lyl147 -keystore client.p12 -storepass lyl147 -storetype PKCS12

c)        客L密钥导出书文?/span>
D:/mykeys>keytool -export -alias clientKey -file clientKey.cer -keystore client.p12 -storepass lyl147 -storetype PKCS12

d)        上q客L密钥文g导入服务器证书库Qƈ讄Z任证书;注意会问你是否信任该证书Q回{?/span> y 卛_
D:/mykeys>keytool -import -v -alias clientKey -file clientKey.cer -keystore server.ks -storepass rwm258

3.       Z在本机浏览器中进?/span>SSL讉KQ请Q双?/span> d:/mykeys/client.p12 Q将启动证书向导

a)         W?/span>2步:要导入的文g 文g?/span>  D:/mykeys/client.p12

b)        W?/span>3步:为私钥键入密?/span>lyl147 Q勾选:标志此密钥ؓ可导出的

c)        W?/span>4步:证书存储Q选:所有的证书攑օ下列存储区,然后Q浏?/span>-个h

d)        现在Q打开IEQ查看证书:工具-Internet选项-内容-证书-个hQ可以看?/span> SomeOne 证书已被安装

4.       配置TOMCAT服务器,以支?/span>SSL认证Q编辑文Ӟ%tomcat_home%/conf/server.xmlQ下面这D配|代码本来是被屏蔽的Q现在请取消其屏蔽,q相应增加密钥库的配|,其中clientAuth="true"用以启动双向认证Q否则,只有客户端认证服务器-单向

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

maxThreads="150" scheme="https" secure="true"

clientAuth="true" sslProtocol="TLS"

keystoreFile="D:/mykeys/server.ks" keystorePass="rwm258"

truststoreFile="D:/mykeys/server.ks " truststorePass=" rwm258" />

5.       启动 TOMCATQ然后在IE览器中讉KQ?/span>https://localhost:8443/

a)         弹Z个消息框Q这是要客户端认证服务器Q查看证书可看到服务器证书ؓ localhost Q回։面的步骤Q正是我们创建的那个服务器证书;q里?/span> ?/span>

b)        面出现Q说明客L被允许访?/span>

6.       现在Q再ơ打开IEQ工?/span>-Internet选项-内容-证书-个h Q删除那?/span> SomeOne 证书

a)         现在Q再ơ在IE览器中讉KQ?/span>https://localhost:8443/ 你会发现Q回։面的 3 步骤Q你会明白ؓ什么要客L证书导入 IE 览器;

7.       请再ơ重?/span> 3 步骤Q之后再试讉K

 

OKQ至此,我们在本ZSSL双向配置已经成功Q那么,换另一台电脑来讉K本机服务器如何处理呢Q很单,?/span> d:/mykeys/client.p12 复制到该机器Q然后执?/span> 3 步骤Q将q个证书导入到该机器?/span> IE览器个书中Q记得密码是Q?/span>lyl147Q当Ӟ在那台电脑上讉KӞ要将localhost修改为本Z机名?/span>IP地址

 

-------------------------------------------------------------------

 

要你自qWEBE序应用SSL安全讉KQ请遵@如下配置

在你应用?/span> web.xml 文g?/span> <web-app></web-app> 中加入如下配|?/span>

<login-config>

             <!-- Authorization setting for SSL -->

        <auth-method>CLIENT-CERT</auth-method>

        <realm-name>Client Cert Users-only Area</realm-name>

    </login-config>

    <security-constraint>

             <!-- Authorization setting for SSL -->

        <web-resource-collection >

            <web-resource-name >SSL</web-resource-name>

            <url-pattern>/*</url-pattern>

        </web-resource-collection>

        <user-data-constraint>

            <transport-guarantee>CONFIDENTIAL</transport-guarantee>

        </user-data-constraint>

</security-constraint>

 

你会发现Q即使?/span> http://....:8080 来访问你的应用程序,它也会重定向?/span> https://....8443 讉KQ也是_你的应用已经强制使用SSL安全讉K?/span>

OKQ现在,充分享受 SSL 安全讉K服务?/span>

 

此外Q你q可以在你的E序中验证客戯书,实现客户端证书登录,具体q里不谈了,下次l出完整E序



Eric_jiang 2013-11-28 17:23 发表评论
]]>tomcat自动部vhttp://www.tkk7.com/jjshcc/archive/2010/06/16/323660.htmlEric_jiangEric_jiangWed, 16 Jun 2010 06:43:00 GMThttp://www.tkk7.com/jjshcc/archive/2010/06/16/323660.htmlhttp://www.tkk7.com/jjshcc/comments/323660.htmlhttp://www.tkk7.com/jjshcc/archive/2010/06/16/323660.html#Feedback0http://www.tkk7.com/jjshcc/comments/commentRss/323660.htmlhttp://www.tkk7.com/jjshcc/services/trackbacks/323660.html对Tomcat部vweb应用的方式ȝQ常见的有以下四U:
 

1Q用控制台部v

     讉KHttpQ?/localhost:8080Qƈ通过Tomcat ManagerdQ进入部|界面即可?/p>

2Q利用Tomcat自动部v

     应用程序复制到Tomcat?webapps路径下,Tomcat启动时将自动加蝲?/p>

3Q修改Server.xml文g部v

     用UE或EditPlus打开Tomcat位于conf/server.xml的配|文Ӟ扑ֈ以下内容Q?/p>

Xml代码
<Host name="localhost" debug="0" appBase="webapps"  
      unpackWARs="true" autoDeploy="true"  
      xmlValidation="false" xmlNamespaceAware="false">  
    .....   
  
</Host>  
 .....
   在Host之间d如下内容Q?/p>

来源Q?http://blog.sina.com.cn/s/blog_658fbfbb0100i3sa.html) - tomcat自动部v_eric_新浪博客
Xml代码
<Context path="/Mywebapps" reloadable="true" docBase="d:\Mywebapps" workDir="d:\Mywebapps\emp"/>  

pathQ表C问的路径Q如上述例子中,讉K该应用程序ؓQhttp://localhost:8080/Mywebapps

reloadableQ表C可以在q行时在classes与lib文g夹下自动加蝲cd

docbaseQ表C应用程序的地址Q注意斜杠的方向“\”

workdirQ表C缓存文件的攄地址

 

4Q增加自定义web部v文g(推荐使用Q不需要重启Tomcat)

    在Tomcat安装目录conf\Catalina\localhost下,里面有Tomcat自带的三个应用,随意复制其中的一个XML文gQ然后修?docbase指向你自q应用E序Qƈ把path改名Q各参数参见上第三种Ҏ。或者你也可以自己新Z个XML文g(注意此文件名作?Context中的path,不管文g里的path怎么讄也无?Q将以下内容复制q去Q修改相应\径即可?/p>

Xml代码
<Context path="/test" docBase="F:/J2EE/yazd_war_3_0"  
        debug="0" privileged="true" reloadable="true" >  
</Context>  

 

      部v完毕后,通过http://localhost:8080/你的path?可以访问?br />  



Eric_jiang 2010-06-16 14:43 发表评论
]]>
Tomcat?appBase和docBase的区?/title><link>http://www.tkk7.com/jjshcc/archive/2010/06/16/323659.html</link><dc:creator>Eric_jiang</dc:creator><author>Eric_jiang</author><pubDate>Wed, 16 Jun 2010 06:41:00 GMT</pubDate><guid>http://www.tkk7.com/jjshcc/archive/2010/06/16/323659.html</guid><wfw:comment>http://www.tkk7.com/jjshcc/comments/323659.html</wfw:comment><comments>http://www.tkk7.com/jjshcc/archive/2010/06/16/323659.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/jjshcc/comments/commentRss/323659.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/jjshcc/services/trackbacks/323659.html</trackback:ping><description><![CDATA[<host appBase="d:/aaa"><br /><Context path="/smswap" reloadable="true" docBase="D:\workspace\smswap\WebRoot"></Context><br /></host><br /><br />我们先看appBase,q个目录表示Q?br />1 q个目录下面的子目录自动被部v为应用?br />2 q个目录下面?war文g被自动解压~ƈ部v为应?br /><br />而docBase只是指向了你某个应用的目录,q个可以和appBase没有M关系?br /><br />ȝQ?br />如果你想自己指定路径Q那么应该在docBase里面<br />如果你想单,那么直接把他们复制到appBase下面p?br /><br />如果你把他们弄重复了Q也是2个指向了一个目录,看上M能运行,但你的应用下面的每个子目录,其实是被部v为单独的应用的?br />比如你的应用?br /><br />myApp, 攑֜?br />d:\project\myApp<br />里面?个子目录<br />d:\project\myApp\images<br />d:\project\myApp\js<br /><br />你可以通过<br />1 讄 appBase 指向 d:\project 来让pȝ自动部v<br />2 你可以手工指定docBase?d:\project\myApp<br />3 如果你指定了 appBase?d:\project\myApp 那么<br />d:\project\myApp\imagesq个不再是普通的子目录,而是一个单独的虚拟目录Q或者叫应用了。因为其被自动部|?br />d:\project\myApp\js 也一L后果<ins> </ins><img src ="http://www.tkk7.com/jjshcc/aggbug/323659.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/jjshcc/" target="_blank">Eric_jiang</a> 2010-06-16 14:41 <a href="http://www.tkk7.com/jjshcc/archive/2010/06/16/323659.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://tiantangapp.com" target="_blank">վ߹ۿ</a>| <a href="http://www-741.com" target="_blank">ҹվ߹ۿۿ </a>| <a href="http://922eee.com" target="_blank">91˾Ʒϵȫ </a>| <a href="http://fzgjw.com" target="_blank">3344ѲŹۿƵ</a>| <a href="http://ygloka.com" target="_blank">þ99ƷƵ</a>| <a href="http://seosuanfa.com" target="_blank">ѹ99þþ㽶</a>| <a href="http://35xyz.com" target="_blank">þѾƷƵ</a>| <a href="http://bjtjchem.com" target="_blank">鶹Ʒѿ</a>| <a href="http://1897tao.com" target="_blank">˻վƬƵ </a>| <a href="http://56v6.com" target="_blank">»ɫַ</a>| <a href="http://yakonet.com" target="_blank">ۺ޹</a>| <a href="http://kimnote.com" target="_blank">Ƶվ</a>| <a href="http://8953y.com" target="_blank">һ</a>| <a href="http://pjappuiehjdkhsjkssd2.com" target="_blank">޾ƷƵ</a>| <a href="http://bcz123.com" target="_blank">˳ɵӰվ</a>| <a href="http://zz198.com" target="_blank">ɫƷһ</a>| <a href="http://144446.com" target="_blank">һͼƬ</a>| <a href="http://amgzh.com" target="_blank">ɫٸ߳18p</a>| <a href="http://fzgjw.com" target="_blank">޳aƬ߹ۿ </a>| <a href="http://53ggk.com" target="_blank">޹㽶þþþþ</a>| <a href="http://appmofun.com" target="_blank">޸Ļַ</a>| <a href="http://www2626cf.com" target="_blank">AVһþ</a>| <a href="http://116qc.com" target="_blank">LƷþ</a>| <a href="http://19933k.com" target="_blank">ձvaƵۿ</a>| <a href="http://v1s3u5.com" target="_blank">޵һƵվ</a>| <a href="http://meiluniao.com" target="_blank">޹Ʒyw߹ۿ</a>| <a href="http://1111xxxx.com" target="_blank">޾Ʒ</a>| <a href="http://rseav.com" target="_blank">ؼëƬaaaaѹۿ</a>| <a href="http://twtairun.com" target="_blank">aëƬþѹۿ</a>| <a href="http://6123fa.com" target="_blank">91˳վɫwww</a>| <a href="http://www-8812.com" target="_blank">ҳվѹۿ</a>| <a href="http://goldwellib.com" target="_blank">պëƬ</a>| <a href="http://myzhoubian.com" target="_blank">޾Ʒ˾߹ۿ</a>| <a href="http://www-34595.com" target="_blank">޴߶ר</a>| <a href="http://6000cpkj.com" target="_blank">Ůһ</a>| <a href="http://bjymt.com" target="_blank">avһ</a>| <a href="http://xjywater.com" target="_blank">պӰ߹ۿַ</a>| <a href="http://tzkanglong.com" target="_blank">ŮһͰһһƵ</a>| <a href="http://www99xyxy.com" target="_blank">ɫtvվѿ</a>| <a href="http://jisuanq.com" target="_blank">߳Ƶ</a>| <a href="http://by3142.com" target="_blank">Ļվѹۿ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>