我在使用最新Amazon Linux版本的EC2实例上遇到此问题。在getallheaders()
上nginx
功能不起作用。 getallheaders()
的所有已发布替换内容仅从$_SERVER
获取值。问题是我需要的标题不存在。
我正在使用Postman(Chrome应用)测试我的原始实现。它有一个Headers选项卡和Body选项卡。我可以在$_POST
数组的Body选项卡中找到条目。 “标题”选项卡中的条目不存在或存在于任何其他全局数组中。
我正在处理的代码是应用程序的Web服务(我无法控制),所以我无法改变调用的性质。
以下是我在Apache上运行getallheaders()
时收到的标题(为清晰起见,我删除了一些标题):
Array
(
[Host] => api.dashforhealth.com
[Connection] => keep-alive
[Cache-Control] => no-cache
[Origin] => chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
[api_key] => this-is-not-the-real-api-key
[Content-Type] => application/x-www-form-urlencoded
[Postman-Token] => 76069288-e74e-3791-eb42-f166454d8822
[auth_key] => this-is-not-the-real-auth-key
[Accept] => */*
)
我感兴趣的两个是api_key
和auth_key
。如何在nginx
中运行时获取这些标头?
答案 0 :(得分:1)
似乎有一个设置:underscores_in_headers
http://nginx.org/en/docs/http/ngx_http_core_module.html#underscores_in_headers