CentOS 在Tomcat部署HTTPS遇到的坑

环境

CentOS 6.8 64位

Tomcat 9

阿里云买的域名,域名管理点击SSL用的免费一年的HTTPS

根据阿里的提示下载关于Tomcat的证书

解压后由四个文件分别是

1528878591893.key

1528878591893.pem

1528878591893.pfx

pfx-password.txt

其中pfx-password.txt是密码,这个密码最后在设置的时候一定要用这个。不然会给你意外的惊喜哦

步骤

在Tomcat安装目录下的conf文件下,新建cert文件夹,将这四个文件放进去

执行如下命令

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

会提示输入密码,这个是时候你就把pfx-password.txt下的密码复制一下。设置成复制过来的密码。记得。三次输入密码都要一样哦。

注意了,执行这个命令后会有个警告

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore your-name.jks -destkeystore your-name.jks -deststoretype pkcs12".

如果忽视这个警告的话。是不会成功的。要再继续执行以下这命令。

keytool -importkeystore -srckeystore your-name.jks -destkeystore your-name.jks -deststoretype pkcs12

配置server.xml

    <Connector port="443"
        protocol="org.apache.coyote.http11.Http11NioProtocol"
        SSLEnabled="true"
        scheme="https"
        secure="true"
        keystoreFile="/opt/install/apache-tomcat-9.0.2/conf/cert/your-name.jks"
        keystoreType="PKCS12"
        keystorePass="1528878591893"
        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 放的是你上一步生成的keystoreFile的绝对路劲

keystorePass是pfx-password.txt下的密码,也就是你上一步设置的密码。反正我的都用一样的。

最后终结一下:

开始的时候我按照了阿里的步骤来了。结果死活不行。坑死我了

阿里文档有几种选择。请忽略其他步骤选择 3、JKS证书安装

还有就是Connector port=”443” 其实443就是默认端口 和80端口一样不需要加入端口就能访问 8443对应的就和8080端口一样。需要加入端口才能访问。。

还有一个坑就是要在ECS加443端口的安全组哦

Loading Disqus comments...
Table of Contents