Tomcat 8.0.30配置https的步骤
2016-06-16 00:00
337 查看
根据网上的案例,自己做了实际配置,记录如下,以备后续参考:
环境说明:
JAVA_HOME=D:\Programs\Java\
TOMCAT_HOME=D:\Programs\tomcat8030
1. 生成证书:
D:\Programs\Java\bin>keytool.exe -genkey -alias tomcert -keyalg RSA -keypass auditpass -storepass auditpass -keystore tomcert.keystore -validity 3600
2. 导出证书:
D:\Programs\Java\bin>keytool.exe -export -trustcacerts -alias tomcert -file tomcert.cer -keystore tomcert.keystore -storepass auditpass
存储在文件 <tomcert.cer> 中的证书
3. 导入证书:
D:\Programs\Java\bin>keytool.exe -import -trustcacerts -alias tomcert -file tomcert.cer -keystore D:\Programs\Java\lib\security\cacerts -storepass changeit
所有者: CN=www.superstar.com, OU=chinaum, O=chinaum, L=bj, ST=bj, C=CN
发布者: CN=www.superstar.com, OU=chinaum, O=chinaum, L=bj, ST=bj, C=CN
序列号: 3d1c5347
有效期开始日期: Wed Jun 15 22:28:24 GMT+08:00 2016, 截止日期: Fri Apr 24 22:28:24 GMT+08:00 2026
证书指纹:
MD5: C8:74:94:AC:B3:91:BE:26:7A:DC:F3:38:8B:D2:AC:5D
SHA1: 87:5B:14:01:82:51:44:40:BB:22:D3:EE:A4:CB:1F:3A:7C:95:5E:2A
SHA256: C1:27:70:F4:67:8B:50:9C:59:2F:29:26:76:0B:4B:37:76:24:0B:CB:61:91:D2:74:F3:AC:0A:41:1C:E1:7B:4A
签名算法名称: SHA256withRSA
版本: 3
扩展:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: BA 90 52 00 C8 A1 81 03 5E 38 2B 89 F5 3B F5 46 ..R.....^8+..;.F
0010: 11 ED AD 39 ...9
]
]
是否信任此证书? [否]: y
证书已添加到密钥库中
至此,证书生成和导入完成。
4. 修改tomcat配置文件server.xml来enable https:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
connectionTimeout="20000" maxThreads="1000" minSpareThreads="100" maxSpareThreads="400" acceptCount="800"
scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="tomcert.keystore" keystorePass="auditpass" />
注意:因为在第一步中,tomcert.keystore文件是生成在D:\Programs\Java\bin目录中的,需要将文件复制到D:\Programs\tomcat8030目录,否则会报找不到此文件的错误。或者在上述的配置中,填写第一步的生成路径。
5. 配置完成后,启动tomcat。如果出现以下报错信息,可以通过下面的方式解决:
报错信息:
SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-apr-8443"]
java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR
解决方式:
注释server.xml中的下面这条语句:
<!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />-->
如果不想disable APR的话,可以参考下面的帖子来做配置: http://lixor.iteye.com/blog/1532655
环境说明:
JAVA_HOME=D:\Programs\Java\
TOMCAT_HOME=D:\Programs\tomcat8030
1. 生成证书:
D:\Programs\Java\bin>keytool.exe -genkey -alias tomcert -keyalg RSA -keypass auditpass -storepass auditpass -keystore tomcert.keystore -validity 3600
2. 导出证书:
D:\Programs\Java\bin>keytool.exe -export -trustcacerts -alias tomcert -file tomcert.cer -keystore tomcert.keystore -storepass auditpass
存储在文件 <tomcert.cer> 中的证书
3. 导入证书:
D:\Programs\Java\bin>keytool.exe -import -trustcacerts -alias tomcert -file tomcert.cer -keystore D:\Programs\Java\lib\security\cacerts -storepass changeit
所有者: CN=www.superstar.com, OU=chinaum, O=chinaum, L=bj, ST=bj, C=CN
发布者: CN=www.superstar.com, OU=chinaum, O=chinaum, L=bj, ST=bj, C=CN
序列号: 3d1c5347
有效期开始日期: Wed Jun 15 22:28:24 GMT+08:00 2016, 截止日期: Fri Apr 24 22:28:24 GMT+08:00 2026
证书指纹:
MD5: C8:74:94:AC:B3:91:BE:26:7A:DC:F3:38:8B:D2:AC:5D
SHA1: 87:5B:14:01:82:51:44:40:BB:22:D3:EE:A4:CB:1F:3A:7C:95:5E:2A
SHA256: C1:27:70:F4:67:8B:50:9C:59:2F:29:26:76:0B:4B:37:76:24:0B:CB:61:91:D2:74:F3:AC:0A:41:1C:E1:7B:4A
签名算法名称: SHA256withRSA
版本: 3
扩展:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: BA 90 52 00 C8 A1 81 03 5E 38 2B 89 F5 3B F5 46 ..R.....^8+..;.F
0010: 11 ED AD 39 ...9
]
]
是否信任此证书? [否]: y
证书已添加到密钥库中
至此,证书生成和导入完成。
4. 修改tomcat配置文件server.xml来enable https:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
connectionTimeout="20000" maxThreads="1000" minSpareThreads="100" maxSpareThreads="400" acceptCount="800"
scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="tomcert.keystore" keystorePass="auditpass" />
注意:因为在第一步中,tomcert.keystore文件是生成在D:\Programs\Java\bin目录中的,需要将文件复制到D:\Programs\tomcat8030目录,否则会报找不到此文件的错误。或者在上述的配置中,填写第一步的生成路径。
5. 配置完成后,启动tomcat。如果出现以下报错信息,可以通过下面的方式解决:
报错信息:
SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-apr-8443"]
java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR
解决方式:
注释server.xml中的下面这条语句:
<!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />-->
如果不想disable APR的话,可以参考下面的帖子来做配置: http://lixor.iteye.com/blog/1532655
相关文章推荐
- java-模拟tomcat服务器
- i-jetty环境搭配与编译
- 实现单Tomcat多Server配置
- 生产环境下的Tomcat配置
- Linux部署Tomcat服务器
- jenkins------结合maven将svn项目自动部署到tomcat下
- 如何搞定tomcat这只喵~
- Linux实现https方式访问站点
- HTTPS科普扫盲帖
- HTTPS的七个误解
- tomcat在opensuse下开机自启失败的原因分析及解决方法
- jsp项目中更改tomcat的默认index.jsp访问路径的方法
- Tomcat 多端口 多应用
- tomcat 5.0 + apache 2.0 完全安装步骤详解
- Tomcat安全设置 win2003 下tomcat权限限制
- Jsp和PHP共用80端口整合Apache和Tomcat(访问时无需加端口号)
- Tomcat服务器 安全设置第1/3页
- tomcat 6.0.20在一个机器上安装多个服务的方法