Tomcat 5.5 通配符SSL证书详细操作指南

Tomcat 5.5 通配符SSL 证书详细操作指南(图文)本文讲述如何生成通配符SSL 证书, 以及如何在Tomcat 中进行配置SSL 并映射单个域名到指定的应用, 以及如何同时启用HTTPS

Tomcat 5.5 通配符SSL 证书详细操作指南(图文)

本文讲述如何生成通配符SSL 证书, 以及如何在Tomcat 中进行配置SSL 并映射单个域名到指定的应用, 以及如何同时启用HTTPS 和HTTP 的端口监听.

环境: Windows XP / Cent OS 5, Tomcat 5.5, JDK 1.5/1.6

刘长炯 beansoft@126.com

2009-10-16

,

目录

1. 注册/创建需要的域名..............................................................................................................3

2. 生成服务器证书.......................................................................................................................3

3. 修改Tomcat 的server.xml 启用SSL...........................................................................................6

4. 启动服务器...............................................................................................................................7

5. 使用浏览器进行访问测试并导入信任证书...........................................................................7

6. 将www.beansoft.net 和bbs.beansoft.net 映射到单独的Web 应用.........................................14

7. 附录.........................................................................................................................................14

,

1. 注册/创建需要的域名

可注册购买域名或者在本机创建虚拟域名, 例如本文作者通过修改Hosts 文件创建了两个二级域名: www.beansoft.net 和 bbs.beansoft.net, 如下图所示:

2. 生成服务器证书

使用JDK 自带的KeyTool 工具生成通配符证书, 打开控制台, 转向 Tomcat所在目录, 执行下面的命令: cd E:Javaapache-tomcat-5.5.27

keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600

, 如下图所示:

,

注意交互过程:

您的名字与姓氏是什么?

[Unknown]: *.beansoft.net

您的组织单位名称是什么?

[Unknown]: BeanSoft@126.com

您的组织名称是什么?

[Unknown]: BeanSoft Java Blog

您所在的城市或区域名称是什么?

[Unknown]: Beijing

您所在的州或省份名称是什么?

[Unknown]: Beijing

该单位的两字母国家代码是什么

[Unknown]: cn

CN=*.beansoft.net, OU=BeanSoft@126.com, O=BeanSoft Java Blog, L=Beijing, ST=Beij ing, C=cn 正确吗?

[否]: y

名字与姓氏, 也就是CN, 必须输入和服务器一致的域名(如www.beansoft.net) 或者真实IP, 否则这个证书在浏览器中显示的时候, 一直会报警 名称和站点不符合, 即使加入了受信任站点也无济于事. 通配符的域名证书输入 *.beansoft.net 即可.

执行完毕后, 会在当前目录出现一个文件 server.keystore. 如下图所示:

,

,

3. 修改Tomcat 的server.xml 启用SSL 修改TOMCAT_HOMEconfserver.xml, 找到如下的定义:

maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />

在后面添加一个新的定义:

使用的文件就是 server.keystore, 密码要和创建证书时保持一致.

需要注意的是我这里只给出了必填的选项, 其它参数如 maxHttpHeaderSize 等都可在此处进行配置.

这时候, 服务器已经同时启用了HTTP 和HTTPS, 如果不需要HTTP 服务, 只需要注释掉8080的Connector 定义即可.

为了便于对比, 下面列出完整的server.xml 的最小配置:

type="org.apache.catalina.UserDatabase"

description="User database that can be updated and saved"

factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" />

,

resourceName="UserDatabase" />

4. 启动服务器

采用上面的配置, 启动Tomcat 服务器, 可看到日志输出如下: 2009-10-16 10:58:59 org.apache.coyote.http11.Http11BaseProtocol init

信息: Initializing Coyote HTTP/1.1 on http-80

2009-10-16 10:59:00 org.apache.coyote.http11.Http11BaseProtocol init

信息: Initializing Coyote HTTP/1.1 on http-443

2009-10-16 10:59:00 org.apache.catalina.startup.Catalina load

信息: Initialization processed in 734 ms

2009-10-16 10:59:00 org.apache.catalina.core.StandardService start

信息: Starting service Catalina

2009-10-16 10:59:00 org.apache.catalina.core.StandardEngine start

信息: Starting Servlet Engine: Apache Tomcat/5.5.27

2009-10-16 10:59:00 org.apache.catalina.core.StandardHost start

信息: XML validation disabled

2009-10-16 10:59:01 org.apache.coyote.http11.Http11BaseProtocol start

信息: Starting Coyote HTTP/1.1 on http-80

2009-10-16 10:59:01 org.apache.coyote.http11.Http11BaseProtocol start

信息: Starting Coyote HTTP/1.1 on http-443

2009-10-16 10:59:01 org.apache.catalina.startup.Catalina start

信息: Server startup in 719 ms

服务器成功启动, 同时监听了普通的HTTP 以及HTTPS 服务.

5. 使用浏览器进行访问测试并导入信任证

我们这里使用的浏览器是IE8.

下面首先访问HTTP 服务, 没有任何问题:

,

接着尝试HTTPS 服务: 或者 , 两个地址都可以看到证书报警

:

点击 继续浏览此网站(不推荐) 。 继续浏览此页面.

,

那么如何避免以后访问时再次报警呢? 有两个办法, 第一个办法是去购买正规机构颁发的数字证书, 需要Money; 第二个办法就是导入证书. 此时的浏览器窗口如下所示

:

点击 地址栏 右侧的证书错误, 可弹出证书错误的详情, 接下来点击 “查看证书

”,

再点击下方的 “安装证书” 按钮, 弹出安装证书向导:

,

点击下一步, 出现证书存储对话框:

默认选中的是上方的单选钮 自动选择证书存储区, 我们需要把它放入受信任的系统证书中区, 因此需要点击下方的单选钮 将所有的证书放入下列存储区, 并点击浏览按钮, 弹出如下的向导:

标签: