生命不止,折腾不休。为了开启阿里云虚机的WordPress博客HTTPS模式,是费了不少心,并重恢复数据库几次,最终OK,很多人说用插件,其实不好,自己动手,永久全站HTTPS才是王道,不用靠那个插件。记录一下,顺便给过客看下。其中CDN配置略坑坑。
1.为了开启HTTPS肯定是要申请证书的
我这里用的是阿里云的免费证书服务:阿里云盾证书服务
免费型DV SSL,一年免费,不支持子域名,一个阿里云账号能签发20个免费证。
2.阿里云虚机是不支持https的
那么只能通过阿里云的CDN服务来跳转一下来支持https:阿里云33/年CDN服务
我购买的是33一年/100G的CDN服务。我这种小博客的访问量肯定是够了的。
3.进入阿里云控制台,访问cdn,进入CDN域名列表,添加你的域名,如果已经有了可以不用添加。
它会生成一个CNAME,记住他,等下配置完是要进DNS解析吧原来的A记录解析改成CNAME解析。
4.配置CDN的SSL,开启HTTPS加速模式
ps:如果你的SSL证书和我一样在阿里云申请的话,可以直接下拉选择就行了,不然你就要自己上传并配置一下,我这里就不浪费篇幅来介绍了。
这里先不要急于设置CDN加速设置,保持默认就好。也不要强制选择HTTP→HTTPS,选择默认。待你的网站完全排除并符合HTTPS标准并能用https能正常访问时,再回来设置这里的强制HTTP→HTTPS。
5.关闭CDN的过滤参数
我给这个参数弄的有些郁闷,开始没注意到这个设置,经常弄wordpress的时候页面带参数过去不去。一直设置出错,我还以为是wordpress哪里的函数被我弄乱了,还把wordpress重新安装了一遍。大家一定要关掉!关掉!关掉!
6.修改DNS解析记录:
我用的是阿里云的解析,如果你用的是dnspod或者其他的,吧这个dns解析中原本的A记录改成CNAME,把记录值改成CDN给我们提供的CNAME地址。
7.修改wordpress配置文件和数据库
7.1配置文件修改wp-config.php
在require_once(ABSPATH . 'wp-settings.php');
之前,添加以下四个记录。在没有添加第四个记录的时候,我的后台总是css和jquery出错,不正常。
define('FORCE_SSL_ADMIN', true); define('FORCE_SSL_LOGIN', true); $_SERVER['HTTPS'] = 'ON'; define( 'CONCATENATE_SCRIPTS', false );
7.2数据库表:wp_options
option_name:siteurl,home,ossdl_off_cdn_url三个记录的option_value都从原来的http://www.againfly.com改成https://www.againfly.com
PS:如果没有ossdl_off_cdn_url这个字段的话可以忽略,贴一段数据库替换的SQL,大家举一反三吧,替换相应的表名即可替换相应的内容。
UPDATE wp_usermeta SET meta_value = replace(meta_value, 'https://myqqjd.com/','http://myqqjd.com');
8.添加一个.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>
PS:本文部分内容来自网络,大多数是本人亲自经历并改编。
北京市 1F
登录回复
点个赞
河南省郑州市 2F
登录回复
我草 这广告打的 谁说阿里云服务器不支持https的? 绝对支持 而且根本不需要那么复杂