首先先去弄一台阿里云虚拟主机,有人说阿里云独享虚拟主机,但是我发工单问过客服,阿里云的独享虚拟主机也不能直接设置ssl。所以只要是阿里云虚拟主机就行,接下来就是申请个免费的ssl证书,阿里云的免费ssl目前我找不到了,就申请的腾讯的免费ssl。地址:腾讯的免费ssl

主机设置cdn

前提条件做好后,我们就开始部署了,打开阿里云虚拟主机的后台:域名管理-CDN管理,一键设置cdn,这样就免去了到cdn界面一步一步设置的问题了,cdn这里坑多,建议一键设置。
主机设置cdn1
这里特别交代一下,设置cdn的时候,如果你用的一级域名作为自己的博客地址,请设置两个cdn,一个非www的域名,一个带www的域名。不然的话,后面会出现其中一个域名带上https打不开博客的尴尬情况。

cdn给域名设置ssl

像上面说的那样,给两个地址都做上cdn。
cdn给域名设置ssl
点开配置,找到:HTTPS设置-修改配置。里面开启ssl,接着就是打开你申请好的ssl证书,腾讯云申请的ssl证书里面有好几个文件夹,选择nginx那个文件夹后,给里面两个文件的后缀都修改为txt,以便打开好复制粘贴到对应的框内。

重要的一步:强制跳转-http跳转到https。

其他设置就默认吧,另外请关闭CDN的过滤参数


wordpress配置相关代码

wp-config.php文件设置
wordpress目录找到wp-config.php文件后,在require_once(ABSPATH . 'wp-settings.php');之前,添加以下四个记录。

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
$_SERVER['HTTPS'] = 'ON';
define( 'CONCATENATE_SCRIPTS', false );

wp_options设置

打开数据库表,找到wp_options后将你的博客地址从http改为https就ok。

htaccess文件设置

添加一个.htaccess文件,用来重定向301状态。添加代码如下:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

大功告成了,接下来你就刷新下你的博客,地址是不是变成https小绿锁了。

参考地址:阿里云虚机 WordPress HTTPS(SSL) CDN