为LNMP+WordPress站点开启全站HTTPS

发布于 2018-01-07  8,485 次阅读


在我刚刚建站的时候,我以为SSL证书都是很贵的像我这种小站是根本用不起的,然而我是后来才知道竟然有免费SSL证书这种操作,甚至,在LNMP里面还有全自动的申请+安装证书的操作。我想起当时我安装LNMP的时候,它问我要不要加SSL证书,我当时想当然地以为我买不起,就没有装,后来才知道这种高级操作orz。

当然了,如果原来没装SSL证书的,也可以在站点已经开始运行之后安装。

安装SSL证书

连接至服务器,运行

lnmp ssl add

这个命令实际上是用的Let's Encrypt的证书,和certbot的程序,如果愿意的话也可以自己去这两个网站上看看,摆弄一下,最终效果是一样的。

接下来就是熟悉的LNMP的流程了,按照提示一直输入,会提示输入网站的安装路径之类的信息,按照自己的情况一直输入就好。

再往后会提示ssl证书的,这里可以直接选择2

接下来程序就会直接申请一个ssl证书然后装到你的网站目录下去

强制https访问与网站内容调整

在网站已经建好了之后再装ssl证书,会出现http和https同时可以访问网站的情况,这个时候需要对网站设置强制转向

按照LNMP默认的nginx的路径,

cd /usr/local/nginx/conf/vhost
vim your_domain.conf

在80端口的文件中添加一行如上图的代码,再重启nginx服务即可

lnmp nginx reload

这个时候访问自己的站点,会发现还是没有出现小绿锁。例如,我的chrome浏览器提示我“与站点之间的连接不完全安全”

出现这个问题是因为站内原有的图片连接或者别的什么链接依然是使用的http,这个时候需要修改。

首先需要把这个地方的链接给改掉

如果文章不多的话可以手动修改,把各个页面、文章的链接中的http内链改为https,如果本来文章特别多没办法手动修改的话,可以通过命令来修改,不过不建议这样做,一个不小心折腾出问题那就GG了。

update wp_posts set post_content = replace(post_content, 'http://your_domain.com','https://your_domain.com');

注意把域名替换为自己的域名

即使你完成了上述步骤,依然可能无法出现小绿锁,这个时候可以直接查查网页的源码,看看是哪里不对,比如我就忘记了“返回顶部”的图片。如果一切正常,出现了小绿锁的话,那么,恭喜你。

 

 

 


终有一日, 仰望星空