Nginx中旧域名301跳转请求日志为空的问题求助
Nginx中旧域名301跳转请求日志为空的问题求助
大家好,我最近在处理Nginx旧域名跳转的日志记录问题,卡壳了想请各位帮忙支个招!
我们用Nginx做反向代理,现在有几个旧域名要逐步淘汰下线。为了能清楚追踪还有哪些地方在调用这些旧域名,方便后续确认可以安全删除DNS记录,我打算把所有访问旧域名的请求都记录到单独的日志文件里。
目前我给旧域名配置了301跳转到新域名,还专门加了独立的access_log配置,具体server块代码如下:
server { listen 80; server_name oldhost.example.com; access_log /var/log/nginx/access-oldhost.log main; return 301 $scheme://newhost.example.com$request_uri; }
奇怪的是,/var/log/nginx/access-oldhost.log文件确实生成了,但不管我怎么访问旧域名(能正常拿到301响应),这个日志文件始终是空的。我试过把access_log指令放在return的前面或者后面,结果都一样。
后来我看到有人说可能和子请求日志有关,就去nginx.conf的http块里加了log_subrequest on;,配置片段如下:
http { include /etc/nginx/mime.types; default_type application/octet-stream; log_subrequest on; # 其他原有配置项... }
但折腾了一圈,日志还是空的,实在找不到问题出在哪了,有没有大佬能帮忙分析下?
备注:内容来源于stack exchange,提问作者Kevin Day
相关产品推荐
相关产品推荐

