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; 第二个办法就是导入证书. 此时的浏览器窗口如下所示
:
点击 地址栏 右侧的证书错误, 可弹出证书错误的详情, 接下来点击 “查看证书
”,
再点击下方的 “安装证书” 按钮, 弹出安装证书向导:
,点击下一步, 出现证书存储对话框:
默认选中的是上方的单选钮 自动选择证书存储区, 我们需要把它放入受信任的系统证书中区, 因此需要点击下方的单选钮 将所有的证书放入下列存储区, 并点击浏览按钮, 弹出如下的向导: