阿里云Centos+Tomcat+SSL配置



阿里云Centos+Tomcat+SSL配置

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/ken1583096683/article/details/80687346
域名管理:

SSL证书下载:

选择Tomcat版

安装证书
Tomcat支持JKS格式证书,从Tomcat7开始也支持PFX格式证书,两种证书格式任选其一。
文件说明:
1. 证书文件1530316217689.pem,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的CSR,还包含:证书私钥文件1530316217689.key、PFX格式证书文件1530316217689.pfx、PFX格式证书密码文件pfx-password.txt。
1、证书格式转换

在Tomcat的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,附件中只包含1530316217689.pem文件,还需要将私钥文件拷贝到cert目录,命名为1530316217689.key;如果是系统创建的CSR,请直接到第2步。

到cert目录下执行如下命令完成PFX格式转换命令,此处要设置PFX证书密码,请牢记:

openssl pkcs12 -export -out 1530316217689.pfx -inkey 1530316217689.key -in 1530316217689.pem
1
2、PFX证书安装

找到安装Tomcat目录下该文件server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connection port=”8443”标签,增加如下属性:

keystoreFile=”cert/1530316217689.pfx”
keystoreType=”PKCS12″
此处的证书密码,请参考附件中的密码文件或在第1步中设置的密码
keystorePass=”证书密码”
1
2
3
4
完整的配置如下,其中port属性根据实际情况修改:

<Connector port=”8443″
protocol=”HTTP/1.1″
SSLEnabled=”true”
scheme=”https”
secure=”true”
keystoreFile=”cert/1530316217689.pfx”
keystoreType=”PKCS12″
keystorePass=”证书密码”
clientAuth=”false”
SSLProtocol=”TLSv1+TLSv1.1+TLSv1.2″
ciphers=”TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256″/>
1
2
3
4
5
6
7
8
9
10
11
这里我没有用jks证书
3、JKS证书安装(帮助)
( 1 ) 使用java jdk将PFX格式证书转换为JKS格式证书(windows环境注意在%JAVA_HOME%/jdk/bin目录下执行)


keytool -importkeystore -srckeystore 1530316217689.pfx -destkeystore your-name.jks -srcstoretype PKCS12 -deststoretype JKS

回车后输入JKS证书密码和PFX证书密码,强烈推荐将JKS密码与PFX证书密码相同,否则可能会导致Tomcat启动失败。
( 2 ) 找到安装 Tomcat 目录下该文件Server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connection port=”8443”标签,增加如下属性:

keystoreFile=”cert/your-name.jks”
keystorePass=”证书密码”
1
2
完整的配置如下,其中port属性根据实际情况修改:
<Connector port=”8443″
protocol=”HTTP/1.1″
SSLEnabled=”true”
scheme=”https”
secure=”true”
keystoreFile=”cert/your-name.jks”
keystorePass=”证书密码”
clientAuth=”false”
SSLProtocol=”TLSv1+TLSv1.1+TLSv1.2″
ciphers=”TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256″/>

( 注意:不要直接拷贝所有配置,只需添加 keystoreFile,keystorePass等参数即可,其它参数请根据自己的实际情况修改 )
4、 重启 Tomcat。
5、 通过 https 方式访问您的站点,测试站点证书的安装配置

但是以上阿里云官方教程还不能配置好SSL,添加几点:
配置server.xml
1.注释掉<Listener className=”org.apache.catalina.core.AprLifecycleListener” SSLEngine=”on” />

2.修改端口(注意我的修改并不是全部按照官方的)
最后按照我写的另一篇文章进行域名绑定访问配置:JavaWeb+Tomcat绑定域名发布
并让所有访问都使用https,我对web.xml做了如下修改:
在web-app标签内加下面的代码
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

如果是需要局部使用https访问,解决办法如下:

这样配置,当访问路径包括test的时候,就会强制转换为https。

最后的最后,提醒一句,打开你需要用到的端口,这里用到443端口
搞了一晚上就弄好了这破玩意

———————
作者:NCUCoder
来源:CSDN
原文:https://blog.csdn.net/ken1583096683/article/details/80687346
版权声明:本文为博主原创文章,转载请附上博文链接!