WordPress使用腾讯云cdn后台无法发布/更新文章的解决方法

最近发现腾讯云账户下有一个500GB的流量包,本着浪费可耻的精神把自然博客临时从上海云盾的加速服务迁移至腾讯云CDN。完成迁移与基础访问控制、加速配置、缓存规则后发现了一个奇葩的问题,所有服务正常,但是wordpress后台无法发布/更新文章

保存或更新文章报错The requested resource is currently locked.

通过服务器直接调试一切访问正常,启用CDN后一切正常,就是后台发布文章就会报错“The requested resource is currently locked.”译文为“这个请求的资源已经被锁定”,重新检查一下CDN控制台的相关设置未发现任何异常。

经过多不监测确定了问题出现在CDN层面,自然依次检查了访问控制、缓存设置、回源设置、安全设置,开关调试全部功能,最终将问题锁定在了回源设置的回源跟随301/302配置功能上面。

该功能根据文档描述如下:

用户 A 请求资源: http://www.test.com/1.jpg,在节点未命中缓存,则节点会请求源站获取所需资源,若源站返回的 HTTP Response 状态码为 302,跳转指向地址为 http://www.abc.com/1.jpg,则:

  1. 开启回源跟随301/302配置后,节点收到状态码为301/302的 HTTP Response 后,会直接向跳转指向的地址发起请求。
  2. 获取到所需资源后,缓存至节点,并返回给用户。
  3. 此时用户 B 也向 http://www.test.com/1.jpg 发起请求,则会在节点直接命中并返回给用户。
  4. 开启回源跟随301/302配置后,最多仅跟随3次跳转,超出限制则会直接返回301/302给客户。

 

经过多次测试该功能在wordpress下回发生冲突,造成wordpress后台无法正常发布/更新文章,建议wordpress用户关闭这个功能。

本文最后更新于2019年12月27日,若涉及的内容可能已经失效,直接留言反馈补链即可,我们会处理,谢谢