博客全站启用SSL

由于本网站打开越来越慢,因此升级,现在记录升级步骤如下:

  1. 切换机房到DC8,流量变为188G
  2. 将freenom的DNS的解析到https://dns.he.net/, dnspod我是不敢用了,感觉上次网站劫持和dnspod有可能相关!
  3. VPS安装debian9 系统
  4. 安装LNMP1.5一键安装包
  5. 上传wordpress安装程序,设置数据库,用户等等
  6. 将老博客导出的xml文件导入到新的wordpress中,这里原来用的backwpup插件,下载了备份但是没有恢复的功能,而且还要安装phpMyAdmin的插件进行恢复数据库,想想还是算了。东西不多,手动恢复就行,图个稳定。这里只是把wp-content\uploads\2018\11中的文件传到服务器同名位置,然后博客里面相应的图片就可以显示了。
  7. 在LNMP1.5的安装网站找到 Let’sEncrypt 添加SSL的教程,https://lnmp.org/faq/letsencrypt-wildcard-ssl.html

  8. 全站启用SSL,需要四个步骤

  • 全站301跳转, 我是Nginx服务器,在 www.deeprl.ml.conf 文件中配置如下代码
  server_name www.deeprl.ml deeprl.ml;
  return 301 https://www.deeprl.ml$request_uri;
  • 对wordpress文章内的图片及后台强制https设置
    wordpress上传的图片都写入了绝对地址,也就是启用https前所有上传到文章的图片都是以http:// 开头的地址存储,如果不转换成https访问网站时浏览器顶部的“小锁”会在某些浏览器显示安全警告,让图片变成https地址很简单,只需要在当前主题的functions.php文件中添加以下代码:
/** 替换图片链接为 https **/
function my_content_manipulator($content){
    if( is_ssl() ){
        $content = str_replace('http://www.deeprl.ml/wp-content/uploads', 'https://www.deeprl.ml/wp-content/uploads', $content);
    }
    return $content;
}
add_filter('the_content', 'my_content_manipulator');
  • 开启登录和后台https访问
    打开网站根目录下的wp-config.php文件,在文件底部代码
/** 设置WordPress变量和包含文件。 */
require_once(ABSPATH . 'wp-settings.php');

之前添加:

/** 强制后台和登录使用 SSL **/
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

最后,全站已经启用SSL,浏览器可以看到绿色小锁标志,稍后将丢失的图片上传之后,全站整理完毕!

注意:

  • 七牛图床失效,在此我明白了免费的东西就是最贵的含义!在目前国内的大环境中,原来使用的七牛,dnspod等等都无法稳定省心的使用了,都把很多原来免费的功能改成收费。算了,还是用国外类似功能的服务提供商吧!
  • 目前遇到这种问题,查了一下发现是VPS的CPU占用过高导致的,现在我想是不是我的PHP用了高版本的原因,留待观察。
Due to high CPU usage, server's CPU clock is currently being limited.
Once load is reduced to levels described in our Terms of Service, this limitation will be automatically removed within 60-120 minutes.
If your application requires more CPU time, we suggest upgrading to a better plan. Please contact helpdesk for instructions on how to upgrade your server.
Upgrades are performed seamlessly without data loss and without downtime.

2019-03-20更新

  • PHP推荐用7.2版本以上,根据我爱水煮鱼博客的《我为什么推荐和使用 PHP 7.2》
    https://blog.wpjam.com/2018/12/12/why-php-7-2/
    但是,我在搜索的时候发现了这一篇文章《我为什么要舍弃WordPress七牛插件》
    https://www.dukeyin.com/2018/08/why-i-give-up-wpjam-qiniu-plugin/
  • 其实,我还是比较偏向自主可控这个方向,把博客的各个方面把控在自己手里。再不济的话,也是要用开源社区的代码。从我参与了一些国家的科研项目来看,自主可控的硬件和软件是我国科研发展的方向。因此,上至国家下至个人,自主可控这点要时刻铭记在心,代码开源,不作恶,这是我们应该共同遵守的底限!

2019-06-19更新

2019年3月17日申请了SSL证书,三个月有效期,6月17号过期。
具体原理参考https://xyuxf.com/archives/1482
由于当时采用原始LNMP1.5的安装包,没有输入API操作所需的参数
https://www.lnmp.org/faq/letsencrypt-wildcard-ssl.html
因此在这里重新输入,并采用acme.sh进行自动续期。
export HE_Username=”username”
export HE_Password=”password”
cd /usr/local/acme.sh/
acme.sh –renew -d 域名
生效!自动延期三个月,9月17号过期。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注