细心的读者可能会发现衔铁部落已经启用了全站SSL,SSL证书的获取和安装对于大部分的博主来说都是有一定难度的,而今天博主则发现了WP Encrypt插件,WP Encrypt插件支持自动从Let’s Encrypt处获取SSL证书并自动为你安装到你的WordPress上。当然,WP Encrypt插件对你的网站环境有一定的要求:
网站需运行在PHP 5.3以上
支持cURL和openssl
如果你的主机满足了以上条件就可以直接使用这个插件来生成来自Let’s Encrypt的SSL证书,跟着下面的插件教程来获取并安装SSL证书吧!
由于博主的网站在发现WP Encrypt插件之前已启用了全站SSL,导致插件无法在博主的网站上正常运行,所以插件的使用教程由隔壁的wu1yi2fan友情提供,就在这里表示感谢啦
好了,不废话了,插件使用教程正式开始:
在WordPress后台搜索WP Encrypt就可以找到这款插件啦。
安装完成以后,进入设置界面,填入组织名,国家和国家缩写保存信息即可,不过插件默认会帮你填写,觉得没问题可以不更改。常用的国家缩写有US(美国),UK(英国),CN(中国)。
接下来,下面还有三个附加设置,第一个勾选后插件可以在证书到期后自动更新证书。第二个,则是在证书即将到期的时候在后台提示。第三个,则是设置在距离到期还有多少天的时候显示提示。
填完信息以后,点击“保存更改”,下面会冒出一个按钮,要我们先注册一个Let’s Encrypt账户。点击按钮插件就会帮我们自动注册啦。
注册了账户以后,下方又会冒出一个按钮,点击这个按钮,就可以生成Let’s Encrypt证书啦。
生成证书以后,下方会显示证书的存放位置。
SSL证书的安装
至此,SSL证书就申请成功了,接下来就需要安装SSL证书,这里以大多数人都在使用的cPanel为例。首先通过FTP把刚刚生成的证书相关文件下载下来(在线打开也一样)。
接下来,进入主机的控制面板,以cPanel为例,找到“SSL/TLS”。
接下来,你可以直接点击“管理SSL站点”填写资料,也可以点第一个和第三个先上传证书。第一个和第三个对应的就是私钥和证书。在cPanel里面,证书链是用不到的。
如果你先点了第一个和第三个上传证书,接下来,你还是要点第四个。不过你可以偷点懒,直接点击“浏览证书”并选择刚刚上传的证书,然后剩下的内容cPanel就会自动填写,我们只需要点击保存即可。
点击保存以后,会弹出如下提示。
看到这个提示则证明SSL证书已成功地安装到你的网站上了
安装SSL证书后的微调
301重定向
网站的SSL证书虽然已经安装成功了,但你所有的外链和网站索引都是HTTP的,这时则需使用301重定向将HTTP转到HTTPS去(不过,貌似这一步cPanel会帮你完成),如果使用其他面板没有这样的功能你可以使用以下代码实现重定向。
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [R,L]
站点地址的更改
安装完SSL证书,你还需要对网站做一些微调来使SSL更好的应用于你的网站。首先你需要在WordPress后台更改站点地址。可以只改站点地址这一栏,不过我推荐WordPress地址和站点地址都改。
接着,你就可以直接访问你的网站首页,但是你大概会发现有什么地方不对
连接不安全是什么鬼?!其实导致这样的情况出现的原因就是你的网站加载了来自非HTTPS网站的内容,而如何消除这些不安全内容提示,则要具体的看你的网站有哪些内容来自非HTTPS网站,并将其替换成HTTPS即可!下面提供一些常见加载内容的解决方案。
七牛云存储
首先是大部分国内博主都使用的七牛云存储,早期的七牛不支持HTTPS,而现在已经添加了对HTTPS的支持,只需简单的几步就可以把存在七牛上的媒体资源HTTPS化。打开七牛的后台,添加HTTPS域名
然后,你会看到七牛弹出的提示,不用理他,直接确认就可以看到生成的HTTPS域名。
最后,在七牛云存储插件的设置页面将生成的HTTPS域名填入其中,稍作等待便可(注意:这里域名前面加的是“https://”,而不“http://”,加错了就白忙活了。)
公共库的加载
大部分网站都有加载jQuery或一些其他的库,而实际上,像我们习惯使用的百度和360的公共库则不支持HTTPS,这是我们可以将其替换为七牛提供的公共库,详情可在这个网站了解,七牛对公共库提供了HTTP和HTTPS两种访问方式,我们只需复制HTTPS的链接并在后台对应的地方进行替换便可!
Gravatar镜像
如果你使用了Gravatar镜像,在启用https以后,因为WordPress会自动发送HTTPS请求给Gravatar,所以你需要重新设置镜像。将“secure.gravatar.com”替换为对应的HTTPS镜像。具体代码如下:
//https版Gravatar镜像代码
function Ltopro_get_avatar_https($avatar) {
$avatar = str_replace(array("secure.gravatar.com"),"镜像地址写这里",$avatar);
return $avatar;
}
add_filter( 'get_avatar', 'Ltopro_get_avatar_https', 10, 3 );
当你的网站加载的所有内容均为HTTPS内容后,就会出现一把小绿锁,这样则证明你的SSL证书已成功地安装并在你的网站上很好的运行了。
小结
这款插件可以自动生成Let’s Encrypt证书而且在到期以后可以自动重新生成,非常赞。但是,某些控制面板(如cPanel)并不能直接调用服务器上的证书而是需要我们手动上传,增加了不少麻烦。而且在SSL证书安装完后所做的调整可能比SSL证书的安装更加麻烦,但毕竟HTTPS化是如今互联网的大趋势,弄好一次,受用终生,何乐而不为呢!