Laravel无法通过nginx获取param标头

时间:2016-11-14 12:59:41

标签: laravel nginx laravel-5.3

我正在开发一个Laravel项目(API),我在请求标头中遇到自定义参数问题。

我需要在请求标头中发送一个令牌,所以我只需在我的请求中添加一个参数api_token

当我在我的本地配置apache2时,我可以在Laravel中使用$request->header('api_token')获取我的标头请求参数,但是当我在我的服务器上配置nginx时,我总是得到null

对我来说,nginx和标头请求有问题,我该怎么办?

有什么想法吗?也许它不是来自nginx ......

1 个答案:

答案 0 :(得分:9)

这是因为默认情况下Nginx不允许带有下划线的标头。您只需将标头参数更新为api-token

即可
$request->header('api-token');

或者您可以配置Nginx配置以允许带有下划线的标头。在server块之间的某处,添加underscores_in_headers指令,如下所示:

server {
    ...
    underscores_in_headers on;
    ...
}

也不要忘记重新加载Nginx配置。详细了解此underscores_in_headers指令here

希望这可以解决您的问题。