前两天看到一篇文章,介绍了两个申请SSL证书的网站,具体是哪两个网站已经不记得了,只记得一个要钱,一个免费。
于是我就萌发了给自己的网站加装个SSL证书的念头,正好26号晚上的时候有兴致,也有点时间,就开始搞起。
自己之前也没接触过,身边也没有有这方面经验的,只好自己百度。。。
结果百度了半天,才发现,,,,,,在腾讯云里面就可以申请SSL证书,而且还是免费的。
▍前提条件
1、我用的是腾讯买的域名和服务器(如需购买参考记录||记第一次建站全过程),所以可以申请免费的SSL证书,其他地方买的域名不知道可不可以;
2、云服务器上的Tomcat要是8.5或者更高版本(低版本的server.xml配置的内容有些微的不一样,虽然就是几个属性的名称不同,但是我没试过,所以这里要求8.5或者更高版本);
3、你的网站能通过http+域名正常访问。
具备了前提条件就可以跟着我完成SSL的安装,下面进行一步步地演示。
▍申请并下载SSL证书
1、前往腾讯云官网(https://cloud.tencent.com/),登录,在云产品下找到“SSL证书管理”,点进去;
2、点击“申请证书”;
3、在跳出来的弹窗中点确认;
4、填写域名、邮箱以及备注名,至于私密钥匙,可填可不填,如果你填了,那就要自己把这个秘钥记住,如果你没填,系统会给你自动生成一个,这里我没填,下一步;
5、因为我已经我的这个域名已经开启了云解析服务,所以就选第一个自动DNS验证(后面两个还不知道怎么用);
6、确认申请;
7、查看证书详情(此时证书还是待验证);
8、等待证书验证,在等待过程中建议不要关闭查看证书详情页,免得很快又要重新打开(一般等待一会儿就验证完成,我这次只用了10分钟就搞定了);
9、验证完成后,会给你填写的邮箱发一封验证成功邮件,同时也会给你的手机上发一份通知;
10、再次回到证书详情页,刷新一下,发现信息更新了;
11、点击“下载”按钮下载SSL证书,下载的是一个压缩包;
12、把压缩包解压,解压之后是这个样子的;
13、此时SSL证书就到手了,就可以开始安装部署工作了。
▍安装SSL证书
1、打开Tomcat文件夹,里面有两个文件,第一个jks文件就是证书,那个txt文件是系统生成的密钥,如果你之前在填写证书的时候自己填了秘钥,那么文件夹里没有这个文件了;
2、把.jks文件复制到你的云服务器上的Tomcat下的conf文件中(我已经申请了4个证书,所以conf文件夹中有4个jks文件);
3、配置server.xml文件,需要修改三个地方;
(1)把
改成
其中第一个80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,此为上网冲浪使用次数最多的协议,第二个443端口是SSL的专用端口;
(2)把
改成
使用443端口的理由同上;
(3)把
改成
首先去掉注释,然后certificateKeystoreFile属性是让你告诉服务器需要哪个SSL证书,后面就填复制过去的那个jks文件的名字(记得带上jks后缀),然后加上certificateKeystorePassword这个属性,后面的属性值填秘钥,如果你自己填了秘钥,那就填你写的那个秘钥,如果你自己没填秘钥,那就把
这个文件里的字符串复制过来填到这。
此时server.xml的配置工作就完成了。
4、尝试使用https://+域名来访问,如果显示找不到页面,那么就应该是你的云服务器的443端口被防火墙拦截了,此时就需要打开443端口。
▍在云服务器上开启SSL443端口
1、依次点击“开始”——“控制面板”——“系统和安全”——“Windows防火墙”;
2、选择打开或关闭防火墙;
3、启用Windows防火墙;
4、此时防火墙处于开启状态,选择“高级设置”;
5、依次点击“入站规则”——“新建规则”;
6、选择“端口”,下一步;
7、选择“特定本地端口”,然后在后面的输入框中填443(当然选择所有本端口也可以开启443端口,但是端口全部开放可能会造成一定隐患,不建议),下一步;
8、选择“允许连接”,下一步;
9、默认三个全部勾选,下一步;
10、填写规则名称,建议填一个容易辨识的名字,描述可填可不填,点击完成;
11、此时端口启用成功。
▍通过https访问
经过我的反复摸索,终于成功的访问到了我的网站。
▍我是尾巴
安装完成了之后,虽然https能访问了,但是不知道为什么,http访问不到了。
在网上找了很久,却没有一个人遇到这个问题,简直。。。
虽然SSL证书安装完成了,但是还是没有达到我的完整目标,后面会继续探索,完成以下两个任务:
1、实现http自动跳转到https;
2、在同一个tomcat下安装多个SSL证书。