【发布时间】:2019-03-20 02:39:15
【问题描述】:
我们运行一个基于 WordPress 的站点,其中 WordPress 内容主要通过 REST API 访问以运行单页应用程序。现在,对于我们当前使用的某些站点,我无法通过 REST API 调用删除或更改自定义帖子。我总是得到一个 403,权限被拒绝。我很确定没有 .htacess 文件导致这种行为,因为我实际上正在使用另一个具有几乎相同设置(相同的 docker 映像)的站点,在该站点中一切正常。 apache 跟踪日志显示以下消息,这似乎有点奇怪,但我找不到太多关于它的实际含义的信息:
[core:trace3] [pid 289] request.c(304): [client 10.x.x.x:53112] request authorized without authentication by access_checker_ex hook: /wp-json/wp/v2/usernote/41674, referer: https://xxx.yyy.com/en/legal/chapter-one/article-1/
在一堆其他消息之后,它返回 403:
[http:trace3] [pid 8878] http_filters.c(1089): [client 10.x.x.x:59686] Response sent with status 403, headers:, referer: https://xxx.yyy.com/en/legal/chapter-one/article-1/
但是创建一个新帖子(使用 POST)确实有效,所以并不是说 http 方法 POST 和 DELETE 本身就被它的外观所禁止...
所有实例都在 nginx 反向代理之后,但同样,配置几乎相同(除了不同的证书和服务器名称等...)
我已经检查了所有我能想到的配置文件,但一个多星期以来都无法解决这个问题。 所以任何提示都非常感谢!
【问题讨论】:
-
您能否告诉我您在 post 方法中使用的代码。所以我可以更深入地研究这个问题。
标签: wordpress apache nginx wordpress-rest-api