【发布时间】:2017-05-24 19:11:59
【问题描述】:
我已将 Wordpress 部署到 AWS EB 平台 PHP 5.4.45。当我使用 cookie 授权从 Angular 前端向 API 发出请求时,我需要包含 X_WP_NONCE 标头,否则,Wordpress 将忽略我的身份验证 cookie。
问题在于,在 EB 部署中,$_SERVER 变量中没有 X_WP_NOCE。也没有HTTP_X_WP_NONCE。根本没有随机数。
看起来所有以X_* 为前缀的标头都被删除了。
curl -XGET -H 'A: this works' -H 'X_A: this does not work' http://example.com/
var_dump($_SERVER);
--->
array(76) {
...
["HTTP_A"]=>
string(19) "this works"
...
// But no HTTP_X_A variable
)
很遗憾,X_WP_NONCE 是 wordpress 核心的一部分,我无法编辑此代码。
如何告诉 EB 将 X_* 标头传递给 php?
谢谢,
更新 1: apache_request_headers() 确实看到了所需的标头。
【问题讨论】:
-
什么是 AWS EBT 平台?没有缩写为 EBT 的服务。你是说 Elastic Beanstalk 吗?
-
@MarkB Elastic Beanstalk,人们偶尔称之为EBT
-
豆茎是指豆类植物的茎。如果您要(错误地)将其拆分为两个词,那将是“Bean Stalk”而不是“Beans Talk”。
-
考虑到在 Google 搜索“AWS EBT”时,这个问题是最重要的结果,我认为可以很安全地得出结论,没有人在野外将 Elastic Beanstalk 称为“EBT”。我建议使用“EB”以避免混淆,因为这是 Stack Overflow 上的缩写。
标签: php wordpress amazon-web-services amazon-elastic-beanstalk wordpress-rest-api