用https访问到阿里云服务器上安装的tomcat
微信小程序开发的时候需要用https请求头,所以在阿里云上申请了一个免费的证书,由于之前并没有接触过如何安装证书,所以在此记录一下.
1.申请证书
我申请的是Symantec 免费版 SSL,中间需要验证DNS记录,只要按照它所给的值在云解析DNS新建一条记录即可验证通过.
2.下载证书
过几分钟之后就可以签发
点击下载,选择服务器类型为tomcat,完成下载后解压,在tomcat路径下新建文件夹cert,将解压的两个文件上传到这个文件夹内
然后打开
vim /usr/local/tomcat/conf/server.xml
修改以下三个标签:
- 将
改为
<Connector port="80`" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
#将redirectPort修改为SSL默认端口443
#80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放
#443端口是SSL的专用端口
- 将
改为
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="/usr/local/tomcat/cert/XXX.pfx" certificateKeystorePassword="XXXXXXX"
certificateKeystoreType="PKCS12" />
</SSLHostConfig>
</Connector>
#8443修改为443。8443端口不可通过域名直接访问、需要在域名后加上端口号;443端口是HTTPS的默认端口,可通过域名直接访问,无需在域名后加端口号。
#certificateKeystoreFile代表证书文件的路径,用证书的路径+文件名替换证书域名.pfx
#certificateKeystorePassword为SSL证书的密码,用证书密码文件pfx-password.txt中的密码替换
#证书类型为PFX格式时,certificateKeystoreType修改为PKCS12
- 将
改为
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />
#将redirectPort修改为443,让HTTP访问自动跳转为HTTPS访问
3.重启tomcat
一定要开放云服务器上的相应的端口,笔者开放的是443,在服务器上也开启一下防火墙的端口
#开启防火墙的端口
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
#重启tomcat
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh