有没有办法在 NGINX access.log 中包含请求端口号?

有没有办法在 NGINX access.log 中包含请求端口号?

我可以使用 NGINX 在访问/错误日志中显示端口号吗?如果有帮助,我可以运行 nginx-debug。

Debian 11,免费 NGINX 1.22 下载版本(非从源代码构建)

答案1

nginx 变量文档变量显示该$server_port变量包含请求的服务器端端口。

nginx 日志模块文档文件log_formataccess_log指令。

默认日志格式为:

log_format combined '$remote_addr - $remote_user [$time_local] '
                    '"$request" $status $body_bytes_sent '
                    '"$http_referer" "$http_user_agent"';

可以将端口添加到末尾,例如用于另一种日志格式:

log_format combinedwithport '$remote_addr - $remote_user [$time_local] '
                    '"$request" $status $body_bytes_sent '
                    '"$http_referer" "$http_user_agent"' $server_port;

要实际使用此格式的日志,需要定义:

access_log /path/to/log/file combinedwithport;

建议将端口添加到日志行的末尾,以便可能的组合日志格式解析器仍然可以处理日志。

相关内容