nginx:当使用nginx作为反向代理时,是否可以在访问日志中捕获响应标头?
2022-09-04 01:27:13
我们使用nginx作为反向代理来控制和记录对Clojure(Java)Web服务应用程序的访问。
我们能够使用nginx生成并捕获传入的标头。我们的Clojure应用程序通过log4j记录活动。问题是,我们无法将 中的条目与应用生成的条目进行匹配。access_log
access_log
应用通过发送响应标头和正文来响应访问。我们可以自由地更改这些响应标头。我最初的想法是生成一个与每个Web服务请求相对应的UUID,并将其发送回回复标头中的用户。我的想法是,我可以通过创建自定义来捕获此响应:X-Uuid
log_format
log_format lt-custom '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" $request_time $http_x_uuid';
看起来nginx可以捕获传入请求中的标头,但不能捕获传出回复(我通过替换为)来验证这一点)。$http_x_uuid
$http_content_type
所以!有没有办法通过使用nginx捕获传出回复标头来绑定我的enties和log4j条目?有没有更好的方法?我宁愿不必依赖用户生成自己的UUID。access_log
非常感谢!