gpt4 book ai didi

nginx 读取自定义响应头

转载 作者:行者123 更新时间:2023-12-05 05:24:46 25 4
gpt4 key购买 nike

我正在尝试从自定义 header 中记录数据。作为回应:

Cache-Control:no-cache
Connection:keep-alive
Content-Type:application/json
Date:Mon, 09 Nov 2015 16:09:09 GMT
Server:nginx/1.9.4
Transfer-Encoding:chunked
X-Extended-Info:{"c":70}
X-Powered-By:PHP/5.6.12

在 php 脚本 (Symfony2) 中:

$response->headers->set('X-Extended-Info', json_encode($info))

我想写入来自“X-Extended-Info”的日志数据。

Nginx 配置:

log_format main_log '$extended_info';
server {
set $extended_info '-';
if ($sent_http_x_extended_info != '') {
set $extended_info $sent_http_x_extended_info;
}
...
}

在日志中我只看到'-'。我读了nginx - read custom header from upstream server ,但此解决方案不适用于我的情况(我尝试使用 $upstream_http_、$http_)。

是否可以读取来自 phpfpm 的响应?谢谢。

最佳答案

if 指令在您的请求发送到后端之前起作用,因此那时没有 $sent_http_... 变量。

您可以使用 map 指令。

log_format main_log '$extended_info';

map $sent_http_x_extended_info $extended_info {
default $sent_http_x_extended_info;
"" "-";
}

关于nginx 读取自定义响应头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33613465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com