这几天折腾好了ecs上的https,再看我这显示不安全的博客,便想着能把个人博客也更新到https。
一、问题
大学注册的共享虚拟主机,一直用来放这个博客,再加上https的趋势,是时候给换https了。
由于虚拟主机只开放了80端口,没法像设置ecs那样开启443端口。但是可以通过cdn的方式开启cdn,原因的话,后面再补上。
二、申请ssl证书
前一篇博客中有申请的方式,这儿就不细说了。
三、cdn配置
首先,cdn流量是要money的。可以先买个100G的流量包,限时1年,要20大洋。
在cdn的域名管理里,点击添加域名。
@H_502_24@
接下来,填下要加速的域名,业务类型选择图片小文件就行了。源站类型保持IP,在IP中输入你的虚拟主机的IP地址。
端口的话一定要选择80端口,因为443是不开放的。
提交后,到域名管理界面,点击配置按钮,出现了一大列东西,往下翻,翻到HTTPS配置,点击第一个修改配置,
状态修改为开启,证书的话已经先申请了,可以直接选择阿里云证书。没申请的话,你也可以选择免费证书。
最后的强制跳转,一定要选择http->https,点击确定。
再次回到域名管理界面,点击CNAME进行复制。
再点击进入云解析DNS,选择对应的域名进行解析设置。点击添加纪录,
记录类型选择CNAME,主机记录填上www,解析线路选择默认,记录值的话,粘贴上刚才复制的CNAME的值,最后点击确认就行了。如果有冲突的话,直接去修改对应的记录就行了。
注:修改记录的话,不是立刻生效的,得过十几分钟。
四、测试
打开powershell或cmd,ping自己的域名。
实际已经显示了对应的CNAME,且IP也发生了变化,这样就配置成功了。
然后,访问博客,发现chrome仍旧是提示不安全,进入页面后,发现网站的css都没有加载上,后台还居然登录不了。看了控制台,提示大概是我们在https的网站中还有http的请求吧。
五、修改wordpress配置
先修改wp-config.php文件,用ftp工具登录,查询到这个文件,代码中找到require_once(ABSPATH . ‘wp-settings.PHP’);这段代码,将下面这段复制到他的前面。
define('FORCE_SSL_ADMIN',true); define('FORCE_SSL_LOGIN',true); $_SERVER['HTTPS'] = 'ON'; define( 'CONCATENATE_SCRIPTS',false );
登录后台后,找到setting->常规选项,修改wordpress地址和网站地址到https。
然后再刷新测试,确保所有的请求都有http改到了https。这样https就ok了。
最后,希望这流量不要用上瘾了。。