温馨提示×

Nginx日志中如何查看访问来源

小樊
48
2025-10-17 08:09:40
栏目: 编程语言

在Nginx日志中,可以通过分析$http_referer变量来查看访问来源。$http_referer变量包含了用户代理从哪个页面链接访问当前页面的信息。要查看访问来源,你需要在Nginx配置文件中的log_format指令中定义一个新的日志格式,然后在access_log指令中使用这个新的日志格式。

以下是一个示例,展示了如何在Nginx配置文件中定义一个新的日志格式以查看访问来源:

  1. 打开Nginx配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/your_domain.conf

  2. http块中,定义一个新的日志格式,例如:

http {
    log_format referer_log '$remote_addr - $remote_user [$time_local] '
                            '"$request" $status $body_bytes_sent '
                            '"$http_referer" "$http_user_agent"';
}

在这个示例中,我们创建了一个名为referer_log的新日志格式,其中包含了$http_referer变量。

  1. server块中,使用新的日志格式:
server {
    ...
    access_log /var/log/nginx/access.log referer_log;
    ...
}

这里我们将新的日志格式referer_log应用于access_log指令。

  1. 保存更改并重新加载Nginx配置:
sudo nginx -t      # 检查配置文件语法是否正确
sudo nginx -s reload  # 重新加载配置文件

现在,Nginx访问日志将包含访问来源信息。你可以使用以下命令查看访问来源:

grep "\"http_referer\"" /var/log/nginx/access.log

这将显示所有访问来源的记录。如果你想查看特定时间范围内的访问来源,可以使用awksed等工具进行筛选。

0