You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 10:54:41