我已经在 server_name 中用正则表达式配置了我的 nginx vhosts。nginx 在日志和传递给 php-fpm 的参数中显示原始正则表达式(我知道有$_SERVER['HTTP_HOST']
一个实际值,这不是问题)。我的问题是如何让 nginx 将真实主机名而不是正则表达式放入日志中。
server_name 指令如下所示:
server_name ~^(:?(?<second>.+)\.)?(?<domain>[^.]+\.[^.]+)$;
答案1
使用$http_host
来log_format
获取客户端发送的实际主机。
您还可以在access_log
指令中使用该变量按主机名拆分日志。