前言

起因主要还是由于这个博客,最初是放在阿里云上面的,后面阿里云过期以后,只是备份了重要的资料,就搁置了两年。直到前一阵子某网友发消息问我网站没法访问了,才打算趁着空闲时间来解决一下博客访问的事情。

由于现在不再使用云服务器了,所以目前面临最大的问题就是运营商屏蔽了80/443端口的问题。虽然服务可以走其他端口,但终归于放出去的东西,我也懒得再发公告说地址变了。

最开始是想的如下几个方案:

  • 花生壳动态域名解析后再使用隐性URL转发
  • 使用ECS做反向代理

但花生壳和走其他端口差别不大,另外鉴于花生壳之前直接回收掉了我屯的很多壳域名,而且新购壳域名价格也不便宜了(甚至还有再被回收的风险),映射线路和带宽都有限制。由此打消了这个打算。

用ECS做反向代理,价格偏贵。也许有人会问为什么既然要买ECS为何不干脆直接搭在云服务器上好了,关于这个问题,自己既然有服务器,为啥还要放在几大千买的小云主机上,带宽带宽不行,存储容量也是个问题。最重要的是,东西放本地,自己哪怕忘了维护,也不至于有主机被回收的风险。

好在在参考资料里找到了CDN的方案。正好腾讯云有每个月10GB的CDN免费流量,刚好可以一试。

步骤

CDN配置

此步骤省略,简而言之就是登录腾讯云,找到CDN,新建域名加速就OK了。

问题

wordpress更新/安装/删除插件和版本是提示需要执行权限

由于主机在运行wordpress时使用的http权限,但是在执行文件时使用的nobody权限导致的。在wp-config.php中添加如下代码即可解决:

define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);

启用CDN后,登录wp后台时页面跳转次数过多,无法进入管理页面

如果CDN启用了https访问,由于CDN回源主机是http,而请求是https导致。安装插件:或在wo-config.php中添加如下代码即可解决:

$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

如果CDN没有启用https访问,需要检查以下:1、wordpress设置中wordpress和站点的url地址是否为CDN域名;2、CDN设置中的节点缓存过期配置,参考如下:节点缓存过期配置

访问/wp-admin不自动跳转登录

需要在CDN配置中调整URL重写规则,将对/wp-admin的访问重写至/wp-admin/index/php。参考如下:访问URL重写配置

备忘

  • clouldflare、阿里云CDN都没有免费额度,故放弃。(但是阿里云的费用在可以接受的范围内)

参考资料

  1. 由电信宽带封堵443端口引发的一系列折腾