我正在处理一个 Laravel 项目(一个 API),但我在请求 header 中的自定义参数有问题。
我需要在请求头中发送一个 token ,所以我只需添加一个参数 api_token
在我的请求中。
当我在我的本地配置了 apache2
,我可以在 Laravel 中使用 $request->header('api_token')
获取我的 header 请求参数,但是当我在配置了 nginx
的服务器上 tr 时,我总是得到null
对我来说,nginx 和 header 请求有问题,我该怎么办?
有任何想法吗 ?也许它不是来自 nginx ......
最佳答案
那是因为默认情况下 Nginx 不允许带有下划线的 header 。您可以简单地将 header 参数更新为 api-token
:
$request->header('api-token');
或者您可以配置您的 Nginx 配置以允许带有下划线的 header 。在您的
server
之间的某个地方阻止,添加 underscores_in_headers
像这样的指令:server {
...
underscores_in_headers on;
...
}
另外不要忘记重新加载您的 Nginx 配置。阅读更多相关信息
underscores_in_headers
指令 here .希望这能解决您的问题。
关于Laravel 无法通过 nginx 获取请求中的参数 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40589378/