记录WordPress使用UCLOUD的CDN问题

发布于 2022-04-17  766 次阅读


前言:

啊,今天在帮人解决关于IRO主题设置保存报错:
function(){return u(n),r.apply(this,arguments)}
的时候,我在之前遇到的情况下,对使用宝塔的服务器添加了白名单,但是依旧不行。

障碍分析:

  1. 尝试看控制台,返回是“404”状态码,这可不太对劲。

  2. 跑去看了看伪静态,正常的伪静态,不应该返回404的。

  3. 百思不得其解的时候,发现浏览器的IP提示和服务器IP不一样,询问发现确实用了CDN。

  4. 手动回源,没问题,源站OK,正常POST传入,正常的response:200

  5. 确定CDN问题了

进一步分析:

  1. 查看cdn缓存,UCLOUD的控制台可以配置的是真的少,转了一圈,就吧wp-admin/admin-ajax.php 白名单了【是真的没啥可以设置的了!!!!】

  2. 刷新缓存,依旧报错,CDN的问题没找到。

  3. 找官方协助,官方说是POST的请求,然后给我看了POST和GET的结果。

  4. 没找到问题,正常直接POST和GET的回执是正常的,我说是携带了参数和数据的,只有正常携带了才会正常。

  5. 官方给了个提醒,POST限制16KB, What?才16KB?疑似问题发现。

  6. 手动获得POST的data数据,一看,16.03KB,加上其他仪器传递的数据一起,18.11KB,漂亮,超过了。

  7. 尝试和UCLOUD技术支持询问是否能提高,回答:否。

  8. 核对是否是这个问题,最后发现:是

结案:

UCLOUD的POST请求最多16KB,市面上很多的收费wordpress主题不支持【因为他们设置项很多,传递的data数据也不小,POST很容易超过16KB】+设置选项多的免费主题不支持。

UCLOUD的机制是,超过了请求就直接返回404,造成客户端报错,服务端根本没收到这次POST请求。

总结:

适当远离UCLOUD的加速~~~~~