在 nginx 日志和传递给 fastcgi 的参数中显示真实服务器名称?

Aur*_*lle 6 nginx logging regex

我已经在 server_name 中使用正则表达式配置了我的 nginx 虚拟主机。nginx 在日志和传递给 php-fpm 的参数中显示原始正则表达式(我知道有$_SERVER['HTTP_HOST']一个真正的价值,这不是问题)。我的问题是如何让 nginx 将真实主机名而不是正则表达式写入日志。

server_name 指令如下所示:

server_name ~^(:?(?<second>.+)\.)?(?<domain>[^.]+\.[^.]+)$;

Mic*_*ton 7

使用$http_hostlog_format获得实际的主机客户端发送。

您还可以在access_log指令中使用该变量按主机名拆分日志。

  • Nginx `error_log` 指令不允许您像 `accesss_log` 那样在文件名参数中使用变量。这似乎是因为 `access_log` 是由日志模块处理的,但 `error_log` 在核心中并且有不同的实现。 (2认同)