准备环境
操作系统 CentOS 64位
web服务器 Tomcat 8 或者 9
前提
您申请SSL证书时绑定的域名已完成DNS解析、实现了该域名指向您Tomcat服务器的IP地址。
已从阿里云SSL证书服务控制台下载Tomcat服务器证书 包含PFX格式证书文件和TXT格式密码文件
截屏2022-05-05 19.24.36.png
在Tomcat目录创建cert并上传 PFX 和 TXT文件到cert文件夹
截屏2022-05-05 19.29.08.png
在去conf 配置server
截屏2022-05-05 19.31.46.png
这里注意了如何是Tomcat 8
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" /> #这里改成443
<Connector port="443" protocol="HTTP/1.1"
maxThreads="150"
SSLEnabled="true"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
URIEncoding="UTF-8"
connectionTimeout="20000"
keystoreFile="/usr/local/tomcat/apache-tomcat-8.0.47/cert/文件名字.pfx"
keystorePass="pfx-password 里面内容"/>
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" /> # redirectPort改成443
如何是Tomcat 9
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150"
SSLEnabled="true">
<SSLHostConfig>
<Certificate
certificateKeystoreFile="/usr/local/tomcat/apache-tomcat-8.0.47/cert/文件名字.pfx"
certificateKeystorePassword="pfx-password 里面内容"
certificateKeystoreType="PKCS12"/>
</SSLHostConfig>
</Connector>
还是有区别的不要搞错了 我在这个问题上就出现了问题搞了很长时间 一定要查自己的Tomcat版本是多少在去配置
截屏2022-05-05 19.37.19.png
在配置web.xml
截屏2022-05-05 19.38.08.png
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
#最下方添加 索引 welcome-file-list 就可以了
<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>
再安全组添加 443
截屏2022-05-05 19.41.28.png
好了大工告成
截屏2022-05-05 19.43.25.png
这里还有几个小问题 Tomcat 关闭和开始的命令要进入bin
截屏2022-05-05 19.52.01.png
启动命令
./startup.sh
关闭
./shutdown.sh
如果看到日志有
截屏2022-05-05 19.55.34.png
05-May-2022 08:53:26.694 严重 [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[HTTP/1.1-443]]
那看看是不是端口被占用了可以结束一下
#把8080改成对应自己的端口就可以了
lsof -i :8080|grep -v "PID"|awk '{print "kill -9",$2}'|sh
#查看占用端口
netstat -an |grep 80
如果有不知道如何申请阿里免费的SSL可以私信我
网友评论