如何为网站添加SSL证书

如果你的网站没有添加SSL证书,仔细观察浏览器地址栏左边的信息,可能发现三角形嵌感叹号,并且显示"不安全"字样,例如我刚建好这个网站时是这样的:

但观察别人的网站显示的都是一把小锁。
这是因为网站目前采用的http协议是明文协议,信息很容易被窃取。为保证网站信息安全,我们需要为网站部署SSL证书,通过https对传输进行加密,整个过程分两步走:

Step1:申请SSL证书

以腾讯云为例,登录腾讯云控制台搜索SSL证书,在"我的证书"中选择"申请免费证书":

 

选择免费版,确定:

 

提交申请:

  • 证书绑定域名:你网站的域名
  • 域名验证方式:若域名解析在腾讯云可以选择自动DNS验证,这里我选择适用性更广的手动DNS验证
  • 申请邮箱:自己随便一个邮箱
  • 算法选择:推荐用RSA

 

验证域名,需要复制红框里的记录:

 

前往域名服务商的域名解析界面,添加一条CNAME类型的记录:

  • 记录类型:CNAME
  • 主机记录:将"验证域名"里的"主机记录"复制过来
  • 线路类型:默认
  • 域名:将"验证域名"里的"记录值"复制过来
  • 权重:"-"
  • TTL:600

 

点击确定,添加记录后再点击"验证域名"流程中的"验证域名"按钮,提示域名验证成功(实测腾讯云注册的域名几秒钟就能收到审核通过的短信提醒):

点击完成

 

 

Step2:部署SSL证书

在命令行输入:
curl --head xxx
(其中"xxx"为你想要查询的网站)就能够查看该网站的服务器类型,比如我的网站显示是CentOS系统Apache服务器:

 

关于Apache服务器部署SSL证书的方法在这篇文档中写的十分详细(别的服务器的部署方法在这篇文档左侧目录里也能找到):
https://cloud.tencent.com/document/product/400/35243
文档里说HTTPS需要开启443端口是针对一些服务器运营商会额外增加一层防火墙端口的策略而言。我用的腾讯云轻量级服务器是在腾讯云控制台的防火墙处设置(一般默认443已经被开启)。具体情况可以询问服务器运营商。

 

部署完成后用"netstat -ntulp"命令会显示443端口已经开启:

 

注意

必须完成文档中的"HTTP 自动跳转 HTTPS 的安全配置(可选)"部分,网页打开后才能显示小锁图标(否则需要在浏览器地址栏主动输入https://madeinabyss.cn/,表面使用了https协议):

 

再次登录网站后发现一些图片显示不出来了,转到"仪表盘--外观--主题设置",将一些图片链接由IP地址改为域名就行了。例如这样:

 

并且这时候如果你依旧试图以IP访问网站会出现警告:

 

此时如果编辑很久之前写好的文章,可能发现里面的图片也显示不了了(IP绑定域名之前都是以IP创建的链接)。此时虽然通过浏览器打开文章可能依旧可以正常显示,但图片会显示IP的链接:

还是建议全部改成域名链接

但插入的图片的链接方式从IP到域名的转换并非是由SSL证书引起的,而是由之前域名和IP的绑定造成的。只是之前没有引发显示问题,而设置SSL证书引发了这个潜在问题。

 

 

参考文档

https://www.wosign.com/FAQ/chrome-notsecure-20180727.htm
https://cloud.tencent.com/document/product/400/54500
https://www.cnblogs.com/chifenghack/p/6322542.html
https://cloud.tencent.com/document/product/400/35243

 

封面链接

https://www.pixiv.net/artworks/96496968

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注