Laravel 无法在 nginx 请求中获取参数 header
Laravel can't get param header in request with nginx
我正在处理一个 Laravel 项目(一个 API),我在请求 header.
中遇到自定义参数问题
我需要在请求中发送一个令牌header,所以我只是在我的请求中添加一个参数api_token
。
当我在本地配置 apache2
时,我可以在 Laravel 中使用 $request->header('api_token')
获取我的 header 请求参数,但是当我在我的服务器上进行 tr 时配置 nginx
,我总是得到 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 项目(一个 API),我在请求 header.
中遇到自定义参数问题我需要在请求中发送一个令牌header,所以我只是在我的请求中添加一个参数api_token
。
当我在本地配置 apache2
时,我可以在 Laravel 中使用 $request->header('api_token')
获取我的 header 请求参数,但是当我在我的服务器上进行 tr 时配置 nginx
,我总是得到 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.
希望这能解决您的问题。