我正在开发一个Laravel项目(API),我在请求标头中遇到自定义参数问题。
我需要在请求标头中发送一个令牌,所以我只需在我的请求中添加一个参数api_token
。
当我在我的本地配置apache2
时,我可以在Laravel中使用$request->header('api_token')
获取我的标头请求参数,但是当我在我的服务器上配置nginx
时,我总是得到null
对我来说,nginx和标头请求有问题,我该怎么办?
有什么想法吗?也许它不是来自nginx ......
答案 0 :(得分:9)
这是因为默认情况下Nginx不允许带有下划线的标头。您只需将标头参数更新为api-token
:
$request->header('api-token');
或者您可以配置Nginx配置以允许带有下划线的标头。在server
块之间的某处,添加underscores_in_headers
指令,如下所示:
server {
...
underscores_in_headers on;
...
}
也不要忘记重新加载Nginx配置。详细了解此underscores_in_headers
指令here。
希望这可以解决您的问题。