WordPress REST API 上传文件跨域问题之一

遇见比较特殊的情况:大多数api都不报CORS policy跨域,然而 /wp-json/wp/v2/media 用post上传时报错。

http://0.0.0.0:9018/#/:1 Access to XMLHttpRequest 
at 'http://xxxx.com/wp-json/wp/v2/media' 
from origin 'http://0.0.0.0:9018' has been blocked by CORS policy: 
No 'Access-Control-Allow-Origin' header is present on the requested resource.

一般跨域方案都已经尝试,经过多方面查询,发现是服务器超载。

直接去WP后台媒体库上传后提示:

Post-processing of the image failed likely because the server is busy or does not have enough resources.
Uploading a smaller image may help.
Suggested maximum size is 2500 pixels.

// wordpress 图像后期处理失败,可能是服务器忙或没有足够的资源......

这个问题会引发了跨域。

原因有很多种,解决方法也是层出不穷,如:提高php内存上限memory_limit、禁用扩展imagic、手动屏蔽WP裁剪功能等,需要具体问题具体分析,这里就不展开了。

笔者碰到的原因应该是nginx负荷超载,服务器上跑了很多网站,nginx重启也没用,最后重启电脑后解决了。对nginx了解不深,深层原因也不太清楚,后面有时间再研究。