2016-11-14 122 views
0

我正在使用Laravel项目(API),并且在请求头中存在自定义参数的问题。Laravel无法获得与nginx请求中的参数标头

我需要在请求标题中发送一个标记,所以我只是在我的请求中添加一个参数api_token

当我在我的本地与apache2配置,我可以在Laravel让我的头请求与$request->header('api_token') PARAM,但是当我TR我的服务器nginx配置上,我总是得到null

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

任何想法?也许它不是来自nginx ...

+0

Laravel使用'Symfony \ Component \ HttpFoundation \ Request''headers'集合来获取头文件参数。用symfony组件相关标签询问你的问题。 – Morilog

回答

6

这是因为默认Nginx不允许带下划线的标头。您可以在报头参数简单地更新到api-token

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

或者你可以配置你的Nginx的配置,以允许标头以下划线。某处你server块之间,加underscores_in_headers指令是这样的:

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

也不要忘记重新加载你的Nginx的配置。阅读更多关于underscores_in_headers指令here

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

+0

是的,是的,谢谢你:) –

+0

它的工作原理,谢谢! –