生命不止,折腾不休。为了开启阿里云虚机的wordpress博客https模式,是费了不少心,并重恢复数据库几次,最终ok,很多人说用插件,其实不好,自己动手,永久全站https才是王道,不用靠那个插件。记录一下,顺便给过客看下。其中cdn配置略坑坑。
1.为了开启https肯定是要申请证书的
我这里用的是阿里云的免费证书服务:服务
免费型dv ssl,一年免费,不支持子域名,一个阿里云账号能签发20个免费证。
2.阿里云虚机是不支持https的
那么只能通过阿里云的cdn服务来跳转一下来支持https:
我购买的是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状态。这个在网上很多人都会说要添加这个文件,实际我并未添加,默认即可,添加了反而会出错,提示:重定向太多!各人情况不同,我还是把代码提供出来。
rewriteengine on rewritebase / rewriterule ^index\.php$ - [l] rewritecond %{request_filename} !-f rewritecond %{request_filename} !-d rewriterule . /index.php [l]
ps:本文部分内容来自网络,大多数是本人亲自经历并改编。
北京市 1f
登录回复
点个赞
河南省郑州市 2f
登录回复
我草 这广告打的 谁说阿里云服务器不支持https的? 绝对支持 而且根本不需要那么复杂