在WordPress网站上安装SSL证书,既是顺应互联网发展之要求,也是网站信息加密之所需。
网站拥有SSL证书将启用HTTPS,这可确保不会以纯文本形式传递任何信息。我们建议所有站点都使用HTTPS,因为它具有除安全性之外的许多其他好处,如SEO、信任、避免浏览器警告等。
如何安装SSL证书
对于WordPress网站安装SSL(TLS)证书,小编仅针对最为常见的三种安装方式进行讲解。
选项1 –宝塔安装免费SSL证书
如果您的VPS服务器安装部署了宝塔控制面板,那安装免费SSL证书是一件非常简单的事情。
第1步
登录到宝塔控制面板后台,然后进入“网站”管理列表,找到你需要安装SSL证书的网站,点击操作“设置”。
在宝塔控制面板中选择一个站点
第2步
使用宝塔面板安装SSL证书,主要推荐两种方式:宝塔SSL(1年免费TrustAsia DV SSL CA证书,期满可续订)或者Let’s Encrypt免费证书(3个月免费,可续订)。
(1)Let’s Encrypt证书安装
在网站设置弹窗窗口,点击左侧菜单“SSL”,然后切换至Let’s Encrypt标签项,选择验证方式为“文件验证”及勾选你需要安装SSL证书的“域名”,最后点击“申请”。
申请后,稍等片刻,系统将会自动为您创建SSL证书并完成部署。
注:
- 申请之前,请确保域名已解析,如未解析会导致审核失败
- Let’s Encrypt免费证书,有效期3个月,支持多域名。默认会自动续签
- 若您的站点使用了CDN或301重定向会导致续签失败
- 在未指定SSL默认站点时,未开启SSL的站点使用HTTPS会直接访问到已开启SSL的站点
- 如开启后无法使用HTTPS访问,请检查安全组是否正确放行443端口
(2)宝塔SSL证书安装
如果你嫌上面的Let’s Encrypt免费证书有效期过短(实际上可以续订),那也可以申请宝塔的SSL正式(该证书实际上是TrustAsia DV SSL CA – G5证书)。
首先你必须完成宝塔账号实名认证,否则无法由宝塔提供的1年免费的TrustAsia DV SSL CA – G5证书。
注:宝塔实名认证,可以是个人或者企业实名认证,其中个人实名认证务必保证手机号码、姓名和身份证三个信息准确,且手机号码不能为电信号码、携号转网号码(官方说的)。
同在网站设置弹窗窗口,点击左侧菜单“SSL”,然后切换至宝塔SSL标签项,选择你需要申请宝塔SSL的域名,点击“申请”。
成功申请后,点击“部署”操作即可。(部署完成,同样会跳转至Let’s Encrypt标签页,这有点不太合理的交互)。
注:TrustAsia DV SSL CA – G5证书1年有效期结束后不能够续签,需重新申请。
第3步
完成宝塔控制面板的SSL申请及部署后,建议启用强制HTTPS,以保证所有域名访问通过https。
选项2 –手动部署安装免费SSL证书
第一步 –申请免费的SSL证书
你可以通过Free SSL申请注册免费SSL证书。首先你得注册一个Free SSL的账号,然后登录Free SSL网站。在首页,输入你要申请免费SSL证书的域名,点击Create certificate:
在下一个步骤,无需理会任何选项,直接点“Next Step”
然后,你可以选择90天或者1年的SSL证书,注意,这里千万不要选择第二个选项“1-Yeaar Certificate”,应该选择第一个“90-Day Certificate”。
选择生成证书信息的方式,根据自己的实际情况选择,建议选择第三个“Fill in the information”:
- EmailAddress-电子邮件地址
- Organization-组织
- Department-部门
- City-城市/地区
- State-省份
- Country-国家
点击提交,浏览器将会下载自动生成一个私钥文件private key,将其保存到浏览器任意位置(后面最终步骤也会在下载的压缩包包含此文件)。
然后,选择第一个“Free”套餐(注:其他套餐都是付费套餐),点击“Next”,进入下一个步骤。
在下个页面,Free SSL还需要对域名进行验证,可以使用邮箱认证、DNS认证和上传文件认证,这里选择最为便捷的文件上传认证作为演示。
选择“HTTP File upload”,点击“Next”
根据提示的信息创建一个txt文本,其中Auth value对应的值作为txt文本的内容,Auth path对应的值作为txt文件名,最后将创建好的txt文件上传至服务器网站根目录下的.well-known/pki-validation
然后点击“Verify Domain”,可能需要一小会的时间。
注:验证域名的时候,如失败,检查下Auth Path的URL是否能够正常访问。必须支持http访问才可以成功验证,如果启用了强制https,应临时取消。
验证成功后,点击Certificate列表对应域名右侧的操作项“Operation”下的“Download”,将会下载一个zip压缩包(包括一个key文件合一个pem文件)。
第二步 –部署SSL证书
(1)宝塔面板部署Free SSL证书
如果你安装的是宝塔面板,则部署刚才在Free SSL申请的免费证书是一件非常简单的事情。
登录你的网站服务器的宝塔控制面板后台,点击(1)“网站”菜单,在网站列表中找到需要配置SSL的域名,点击(2)“设置”操作,然后在弹出窗口中(3)选择“其他证书”选项卡。
然后将前面下载的压缩包文件解压得到两个文件:.key和.pem。使用记事本打开,将.key的文本内容复制粘贴到(4)key密钥,及将.pem的文本内容复制粘贴到(5)PEM格式证书,最后点击“保存”即可为网站配置SSL证书。
(2)自主部署Free SSL证书
如果服务器安装的是Nginx,则参考以下步骤进行SSL证书部署。
找到网站的Nginx的网站配置文件,可能存放在/usr/local/nginx/conf/vhost
这样的目录下的域名.conf
,不同服务器可能不尽相同。在网站的Nginx配置文件添加下列注释的行(相关信息替换成自己网站的):
{
#在80端口监听行下方增加443端口监听
listen 443 ssl http2;
#如果需要http跳转https,在域名指向目录下方增加下面规则,注意将域名更换为自己的域名
if ($http_host !~ “^bt.wbolt.com$”) {
rewrite ^(.*) https://bt.wbolt.com$1 permanent;
}
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#填写.pem证书的存放路径,注意将证书保存路径改为自己服务器的路径
ssl_certificate /usr/local/nginx/conf/ssl/bt.wbolt.com/bt.wbolt.com.pem;
#填写私钥的存放路径,注意将证书保存路径改为自己服务器的路径
ssl_certificate_key /usr/local/nginx/conf/ssl/bt.wbolt.com/bt.wbolt.com.key;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}
server { #在80端口监听行下方增加443端口监听 listen 443 ssl http2; #如果需要http跳转https,在域名指向目录下方增加下面规则,注意将域名更换为自己的域名 if ($http_host !~ "^bt.wbolt.com$") { rewrite ^(.*) https://bt.wbolt.com$1 permanent; } #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则 #error_page 404/404.html; #填写.pem证书的存放路径,注意将证书保存路径改为自己服务器的路径 ssl_certificate /usr/local/nginx/conf/ssl/bt.wbolt.com/bt.wbolt.com.pem; #填写私钥的存放路径,注意将证书保存路径改为自己服务器的路径 ssl_certificate_key /usr/local/nginx/conf/ssl/bt.wbolt.com/bt.wbolt.com.key; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; }
如果服务器安装的是Apache,则参照以下步骤进行SSL证书部署。
找到网站的Apache的网站配置文件,可能存放在/usr/local/apache2.4/conf/httpd.conf
,不同服务器可能不尽相同。在网站的Apache配置文件添加下列行(相关信息需替换自己的):