免费为ECS服务器配置SSL,使网站可以使用https访问
我们在将我们的申请的域名进行备案后,如果我们想让该域名通过https:// 开头来访问我们的网站,那我们就需要SSL证书来获得浏览器的认可。
一、公网IP绑定域名
参考
https://developer.aliyun.com/article/766854?spm=a2c6h.13813017.0.dArticle738638.30df6647tkmId3
前提条件:域名(www.pitty.cn)已经通过备案
1、在阿里云控制台,>>域名
2、在已备案的域名后面,点击“解析”
3、点击“添加记录”
4、在“主机记录”录入 www.
记录值输入阿里云外网IP
5、在浏览器地址栏输入
http:www.pitty.cn:8080
二、申请并下载SSL证书
参考:
https://www.cnblogs.com/sundar/p/9196242.html#_label1
1、在阿里云控制台,>>域名
2、在已备案的域名后面,点击“域名” pitty.cn
3、
支付完成后,点击“证书控制台”,进入SSL证书控制台
点击“证书申请”按钮,进证书申请页面,填写申请,
输入正确信息后,点击“下一步”按钮,
点击“验证”按钮,验证成功后,点击“提交审核”按钮。
点击“确定”,至此,完成SSL证书申请。返回到“SSL证书概览”
在服务器类型,选择“tomcat”的证书下载。
解压SSL证书
三、在Tomcat服务器导入证书
参考:
https://blog.csdn.net/Mrs_chens/article/details/104694502
1、开启阿里云服务器443端口
阿里云控制台=》云服务器ECS=》网络和安全=》安全组
2、设置防火墙,开放443端口
# firewall-cmd --zone=public --add-port=443/tcp --permanent
防火墙常用命令 参考:https://www.cnblogs.com/hebiao/p/12966000.html
1.查看防火墙状态命令: # firewall-cmd --state 2.关闭防火墙命令: # systemctl stop firewalld.service 3.启动防火墙命令: # systemctl start firewalld.service 4.设置开机自动启动命令 # systemctl enable firewalld.service 关闭开机启动命令 # systemctl disable firewalld.service 5.查看防火墙所有开放的端口命令: # firewall-cmd --zone=public --list-ports |
******注意**********************************************************************************
在/etc/sysconfig/iptables中增加防火墙策略,经测试,不起作用。
增加一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
****************************************************************************************
3、在Tomcat安装目录下新建cert目录,将下载的证书和密码文件拷贝到cert目录下。
4、server.xml配置参数
打开Tomcat/conf/server.xml,在server.xml文件中找到以下参数并进行修改。
将 8080,改为80
8443 改为 443
说明1、
<Connector port="443" #将Tomcat中默认的HTTPS端口Connector port 8443修改为443。8443端口不可通过域名直接访问、需要在域名后加上端口号;443端口是HTTPS的默认端口,可通过域名直接访问,无需在域名后加端口号。 protocol="org.apache.coyote.http11.Http11NioProtocol" #server.xml文件中Connector port有两种运行模式(NIO和APR),请选择NIO模式(也就是protocol="org.apache.coyote.http11.Http11NioProtocol")这一段进行配置。 maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="/usr/local/tomcat/cert/证书域名.pfx" #此处certificateKeystoreFile代表证书文件的路径,请用实际证书的路径+文件名替换,例如:certificateKeystoreFile="/usr/local/tomcat/cert/abc.com.pfx" certificateKeystorePassword="证书密码" #此处certificateKeystorePassword为SSL证书的密码,请用您证书密码文件pfx-password.txt中的密码替换,例如:certificateKeystorePassword="bMNML1Df" certificateKeystoreType="PKCS12" /> #证书类型为PFX格式时,certificateKeystoreType修改为PKCS12。 |
说明2
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" secretRequired="" /> #此处必须有secretRequired="",否则会报错 |
5、重新启动tomcat
# ps -ef|grep tomcat
# /usr/local/tomcat/bin/shutdown.sh
# /usr/local/tomcat/bin/startup.sh
至此,我们的网站就可以用HTTPS访问了。