how-to-enable-HTTPS-wordpress

WordPress网站部署SSL证书启用HTTPS

上一篇文章中,我们详细介绍了如何搭建 WordPress 网站。在网站部署好之后,我们需要给网站部署 SSL 证书,开启 HTTPS 加密访问。

文档目录

什么是HTTPS

HTTPS 是超文本传输安全协议 (Hypertext Transfer Protocol Secure)的缩写,它是一种通过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。这个协议由网景公司在1994年首次提出,随后扩展到互联网上维基百科

为什么要为网站部署SSL证书

  • 数据加密传输,保护网站安全性

网站部署 SSL 证书后,使用 HTTPS 加密协议访问,可激活客户端浏览器与网站服务器之间的 SSL 加密通道(SSL 协议),从而实现高强度双向加密传输,防止传输数据被泄露或篡改。

  • 提高网站排名

HTTPS 比 HTTP 更有利于搜索引擎的收录和排名。早在2014年,Google Search Central Blog 就已发文 HTTPS as a ranking signal 明确表示Google已经开始使用 HTTPS 作为影响搜索排名算法的信号之一。

HTTPS as a ranking signal

For these reasons, over the past few months we’ve been running tests taking into account whether sites use secure, encrypted connections as a signal in our search ranking algorithms. We’ve seen positive results, so we’re starting to use HTTPS as a ranking signal. (Thursday, August 07, 2014)

次年,百度站长平台也发布公告表示,百度搜索引擎认为权值相同的站点,采用 HTTPS 协议的页面更加安全,排名上会优先对待。

百度开放收录https站点公告

为了给用户提供一个安全可靠的网络环境,继启用 https 加密之后,百度搜索再次重磅推出:全面支持 https 页面直接收录;另外从相关性的角度,百度搜索引擎认为权值相同的站点,采用 https 协议的页面更加安全,排名上会优先对待

此次技术升级之后,百度搜索将同一个域名的 http 版和 https 版作为一个站点来处理,优先收录 https 页面;这种情况建议站长将 http 页面设置301跳转到对应的 https 页面。(2015年5月25日)

由此可见,无论我们的网站面向的是国内市场还是海外市场,给网站部署 SSL 证书,使用 HTTPS 加密访问都是很有必要的。

此外,部署SSL证书,是一个网站专业性的表现,是对用户信息安全负责的体现,“https” 开头的前缀及小锁标志,都可以在不同程度上给访问网站的用户带来安全感。


如何给网站部署SSL证书

为了在我们的网站上启用 HTTPS,我们需要从证书颁发机构(CA)获取证书(一种文件)。Let’s Encrypt 是一个证书颁发机构(CA),它可以免费为我们的网站域名颁发 SSL 证书。本文将以 Ubuntu 20.04 操作系统为例,演示如何为网站域名获取 Let’s Encrypt SSL 证书。

准备工作

  • 拥有需要获取 SSL 证书的网站域名
  • 拥有命令行访问权限

开始部署

本文档默认使用 root 用户操作。

1. SSH root 用户登录服务器。

2. 依次执行以下命令:

sudo apt update
sudo apt install certbot
sudo apt-get install python3-certbot-nginx
certbot --nginx

3. 输入用于接收证书续签通知提醒的个人邮箱,按 Enter 继续。

4. 输入 AEnter,统一服务条款;再输入 nEnter,不共享个人邮箱。

5. 输入对应序号选择想要申请证书的域名,按下 Enter,开始获取证书。

Which names would you like to activate HTTPS for?
 
1: example.com
 
Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1

6. 输入 12 以选择是否将 HTTP 流量重定向到 HTTPS,从而移除 HTTP 访问。 由于本教程演示的网站这是一个新站点,所以在这里我们输入 2 并按 Enter,将 HTTP 流量重定向到 HTTPS。

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
 
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration.
 
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

7. 执行以下命令开始创建一个更新证书的计划任务:

crontab -e

8. 输入 2Enter 继续:

Select an editor.  To change later, run 'select-editor'.
 /bin/nano        <---- easiest
 /usr/bin/vim.basic
 /usr/bin/vim.tiny
 /bin/ed 
 Choose 1-4 [1]: 2

9. 输入 i 键进入编辑模式。新起一行,添加以下命令:

0 0 */5 * * /usr/bin/certbot renew &>/var/log/certbot-renew.log

10. 添加好后,按下 Esc 退出编辑;按下 :wq 保存修改。


在浏览器中输入自己的网站域名访问站点。你将会看到网站已经开启了 HTTPS。而且,即使输入了 http: 格式的 URL 进行访问,网站也会自动跳转为 https: 格式的 URL。

本文作者
本文作者

Justin(小贾,贾老师), Microsoft 365 认证:新式桌面管理员助理,乐天派,打工人。

本篇文章采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。