Apache mod_jk方式使用ajp13均衡集群整合Tomcat后的ssl配置

时间:2022-08-13 16:57:41
2009-02-24 01:57

1.下载地址:
Tomcat 5.5.9:
http://www.eu.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9.zip

http://www.eu.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9-fulldocs.tar.gz

http://www.eu.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9-compat.zip

http://www.eu.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9-admin.zip

Apache 2.0.54:
http://www.eu.apache.org/dist/httpd/binaries/win32/apache_2.0.54-win32-x86-no_ssl.msi

mod_jk1.2.12:
http://www.eu.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/win32/jk-1.2.12/mod_jk-1.2.12-apache-2.0.54.so
(好像Apache 2.0.53已经自带mod_jk.so了,但是2.0.54没有自带)
Apache2.0.54带mod_ssl.so的版本
http://hunter.campbus.com/Apache_2.0.54-Openssl_0.9.7g-Win32.zip

2.安装:
先解压tomcat;安装apache,添加mod_jk.so(复制并重命名mod_jk-1.2.12-apache-2.0.54.so)
添加mod_ssl.so(取自Apache_2.0.54-Openssl_0.9.7g-Win32.zip,或者从xampp中获取,目前只有2.0.53的)把ssl.conf,ssl.default.conf放到conf目录,

其中default.conf作为备份),libeay32.dll, ssleay32.dll(这2个都在bin目录)。把它们全都复制到你自己的apahce下的对应目录。


3.配置Apache:
编辑httpd.conf
ServerName www.lizongbo.com

注释成下面这个样子:
#<IfModule mod_ssl.c>
#    Include conf/ssl.conf
#</IfModule>
然后再文件最后一行加上:
Include conf/ssl.conf

ssl.conf内容可以参照xampp的配置:
关键是如下两行

SSLCertificateFile conf/ca/server.crt
SSLCertificateKeyFile conf/ca/server.key


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

利用tomcatca生成证书,
然后把D:/tomcat-ca/work/ca/下的ca-cert.pem改名字为:server.crt
把ca-key.pem改名字为:server.key,把这两个文件复制到E:/Apache/Apache2/conf/ca下面。
这个时候启动apache,访问https://lizongbo.com/正常的话应该就可以使用ssl了。

4.整合Tomcat:
解压tomcat到E:/jakarta-tomcat-5.5.9.
重命名并复制到E:/Apache/Apache2/modules/mod_jk.so
新建并编辑和保存E:/Apache/Apache2/conf/workers.properties:
具体内容内容参考mod_jk的源代码。


编辑http.conf,在文件结尾增加下面的内容:
<Directory ~ "/WEB-INF/">
     Order allow,deny
     Deny from all
    </Directory>
<Directory ~ "/META-INF/">
     Order allow,deny
     Deny from all
    </Directory>
LoadModule jk_module modules/mod_jk.so
Alias /admin E:/jakarta-tomcat-5.5.9/server/webapps/admin
JkWorkersFile E:/apache/Apache2/conf/workers.properties
JkLogFile E:/apache/Apache2/logs/mod_jk.log
JkLogLevel info
#JkLogLevel debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /clusterapp/servlet/* myloadbalancer
JkMount /clusterapp/*.jsp myloadbalancer
JkMount /admin/ myloadbalancer
JkMount /admin/j_security_check myloadbalancer
JkMount /admin/*.jsp myloadbalancer
JkMount /admin/*.do myloadbalancer
JkMount /status/* status


接下来配置Tomcat:
编辑E:/jakarta-tomcat-5.5.9/conf/server.xml
123行左右,把<Engine name="Catalina" defaultHost="lizongbo.com">
改成:
     <Engine name="Catalina" defaultHost="lizongbo.com" jvmRoute="tomcat1">
修改
tomcat-user.xml
内容如下:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="lizongbo" password="lizongbopass" roles="admin,manager"/>
</tomcat-users>

 

5.访问http://lizongbo.com/status/
可以看到jk的状态信息。

配置Tomcat的 ssl,(也可不配置,略)。
然后修改server.xml
把转向端口8843改为443
    <Connector port="8009"
               enableLookups="false" redirectPort="443" protocol="AJP/1.3" />

配置web.xml强制使用https来访问资源,(也可不配置,略)。

这样,当如果在同一台服务器上测试apache+Tomcat的集群时候
,就可以通过80,443,8080,8443端口都能够访问到网站的http服务,
可以给用户提供更高安全性的访问,实在是一件愉悦的事情:)

 

参考:
http://www.chinaunix.net/jh/13/523585.html

 

 

http://hi.baidu.com/it_master/blog/item/fda6c535d40cc849251f14ac.html