本文于 124 天前发布,最后更新于 123 天前
一、概述
不需要了解太详细,我们只需要知道 HTTPS 比 HTTP 更安全。简单来说 HTTPS 是 HTTP 的安全版,是使用 TLS/SSL 加密的 HTTP 协议。
二、把 HTTP 换成 HTTPS
2.1 申请证书
免费的,花钱的都可以,能够把证书申请下来就可以。各种云厂商都提供 SSL 证书服务,例如:阿里云、腾讯云、华为云…… 也可以用一些免费的,例如:来此加密、FREESSL、Cloudflare 等等。
申请证书的过程就不在此介绍了,在申请证书的网站一步一步照着做就可以。
证书申请成功后,将证书文件下载,上传到服务器 nginx 目录。一般只需要上传证书中的证书链文件(fullchain.crt)和私钥文件(private.pem)。【证书文件名大多类似,名字或格式略有差别】
我在 nginx 目录下创建了 ssl 文件夹,用于存放证书文件:
[root@dameng ssl]# pwd /usr/local/nginx/ssl [root@dameng ssl]# ll total 20 -rw-r--r-- 1 root root 2836 Dec 2 13:29 fullchain.crt -rw-r--r-- 1 root root 6372 Dec 2 16:47 full_chain.pem -rw-r--r-- 1 root root 1732 Dec 2 16:47 private.key -rw-r--r-- 1 root root 241 Dec 2 11:31 private.pem
注意
我存放了两套证书,所以有四个文件,正常情况下有一套就可以。
2.2 修改 nginx 配置
编辑配置文件 nginx.conf,只需要修改 server 部分就行
server { listen 80; server_name 你的域名; #将HTTP重定向到HTTPS return 301 https://$server_name$request_uri; } server { listen 443 ssl; ssl_stapling on; ssl_stapling_verify on; #请填写证书文件的相对路径或绝对路径 ssl_certificate "/usr/local/nginx/ssl/full_chain.pem"; #请填写私钥文件的相对路径或绝对路径 ssl_certificate_key "/usr/local/nginx/ssl/private.key"; #listen 80 default_server reuseport; #listen [::]:80 default_server ipv6only=on; server_name 你的域名; …… …… ……
保存并重新加载 nginx
[root@dameng conf]# nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@dameng conf]# nginx -s reload
三、其他问题
由于我在申请 SSL 证书的同一天将域名解析到我的 IP(也就是网站 IP 与域名绑定),碰到了一些意料之外的问题:
- 网站上所有的图片都加载不出来。
- 还有一个神奇的现象,就是页面加载后会把我底部音乐播放器的音乐封面铺满整个网页。
后续我也找到了解决的方法:准备工作是要下载一个插件 Unlimited Elements for Elementor。
- 图片加载不出来是因为图片都在 WordPress 媒体库并且图片的链接还是以前的 IP 链接,例如:https://xxx.xxx.xxx.xxx/wp-content/uploads/2024/11 / 头像 - e1731570721610.jpg,需要将媒体库文件链接中所有的 IP 替换掉。当然不用一个一个的改,从 WordPress 的设置 - 常规里把 WordPress 地址(URL)和站点地址(URL)修改成域名。修改完成后,再次登录 WordPress 管理界面时,上述插件 Unlimited Elements for Elementor 会提示将网站从 IP 地址迁移到新的域名,点击迁移即可解决问题。
- 另外,音乐播放器封面的问题,我怀疑是我在申请 SSL 证书时没有填写顶级域名(lemonary.cn)而是只填了二级域名(www.lemonary.cn)导致的,我没有证实这一问题。但是在我将只填了二级域名的 SSL 证书替换掉后,这个现象也就没再出现过。
所以大家在替换域名和申请 SSL 证书时要注意以下两点:
- WordPress 的媒体库中的文件链接需要修改,可以用插件统一修改。
- SSL 证书申请时一定要写好两个域名:顶级域名和二级域名(带 www 的和不带 www 的)。