快速教您Apache + Tomcat + SSL的配置

来源:岁月联盟 编辑:zhuzhu 时间:2007-08-06

运行环境:Windows2003 Server SP4 + J2SDK1.5.0 + Apache2.0.54 + Tomcat5.5.9

 

准备软件:

 

1.安装 Apache 2.0.54

 

2.Tomcat 5.5.14

 

3.Jk2连接器(mod_jk2.so)

 

一、配置Apache和tomcat

 

Apache安装在d:/Apache2 下,监听端口 80;

 

Tomcat在D:/Tomcat51 下,监听端口 8080;

 

两者都以windows 2000服务进行安装。

 

将mod_jk2.so复制到d:/Apache2/modules目录下:

 

1.编辑d:/Apache2/conf/httpd.conf文件,在LoadModule那一段代码中添加:

 

LoadModule jk2_module modules/mod_jk2.so

 

2.将AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset GB2312 使Apache自动支持中文显示;

 

3.在“虚拟主机配置代码段”中添加:(此段配置可以根据你的实际情况进行修改)

 

<VirtualHost *:80> ServerAdmin linvsfen◎163.com DocumentRoot "d:/ Tomcat51/webapps/jsp-examplesServerName localhost ErrorLog logs/error_log CustomLog logs/access_log common </VirtualHost>

编写workers2.properties文件并加入d:/Apache2/conf目录,内容如下:

 

# Usually commented out onproduction environments[logger.apache2]file=”D:/Apache2/logs/error.log”level=ERROR# Provide the basic config needed[config]file=D:/Apache2/conf/workers2.propertiesdebug=1# Provide the location of shm file on the Apache web server[shm]file=D:/Apache2/conf/jk2.shmsize=1000000[channel.socket:localhost:8009]port=8009host=localhost#define the worker[ajp13:localhost:8009]channel=channel.socket:localhost:8009# Map the Tomcat examples webapp to the Web server uri space [uri:/jsp-examples/*][uri:/*.jsp]

编写一个jsp文件(sessiontest.jsp),放在d:/Tomcat51/webapps/jsp-examples 下;重新启动以后,启动apache和tomcat,访问http://localhost/jsp-examples/sessiontest.jsp可以访问。

二、Tomcat配置上ssl步骤:

1. 生成服务器证书server02.jks和客户端证书dwp.p12

 

2. 把server02.jks放到conf目录下,打开d:/ tomcat51/conf/server.xml 文件,

 

然后修改server.xml文件,将注释掉的内容的注释去掉和增加证书存放的位置:如下:

 

<Connector port="8443" maxHttpHeaderSize="8192"maxThreads="150" minSpareThreads="25"maxSpareThreads="75"enableLookups="false" disableUploadTimeout="true"acceptCount="100" scheme="https"secure="true"clientAuth="true" sslProtocol="TLS" keystoreFile="conf/server02.jks" keystorePass="123456" truststoreFile="conf/server02.jks" truststorePass="123456"/>

 

注:server02.jks是证书存贮文件

 

安装客户端证书dwp.p12

 

3. 修改Tomcat配置,使其自动启用SSL

 

打开d:/test/tomcat51/webapps/jsp-examples/WEB_INF/web.xml 文件,在security-constraint 标签下,增加如下内容:

 

<user-data-constraint> <description>Constrain the user data transport for the whole application </description> <transport-guarantee> CONFIDENTIAL </transport-guarantee></user-data-constraint> <!--注释掉<auth-constraint>标签下的内容--><auth-constraint> <!-- Anyone with one of the listed roles may access this area --> <role-name>tomcat</role-name> <role-name>role1</role-name> </auth-constraint><!--在web-resource-collection 标签下,增加如下内容:--><url-pattern>/*</url-pattern>

 

重新启动Apache和tomcat,访问 http://localhost/jsp-examples/sessiontest.jsp是可是访问的,这是系统提示用户出示证书,启用SSL加密通道,SSL建立后,返回结果。URL变为https://localhost:8443/jsp-examples/sessiontest.jsp