> 文章列表 > nginx referrer

nginx referrer

nginx referrer

什么是 nginx referrer?

nginx referrer是一个指示源网站的HTTP头,它告诉您是哪个网站链接到您的站点。

具体来说,referrer指的是源网站中被点击链接的地址,注意和目标网站中被访问的地址有所区别。referrer关键字在web日志中经常出现,通过它可以了解从哪个页面跳转到当前页面,这对于分析用户行为和优化网站非常有用。

为什么要使用 nginx referrer?

在许多情况下,referrer值可以帮助您了解关于流量来源和访客行为的更多信息。例如:

  • 您可以检查哪些外部网站链接到您的站点,并查看它们为您带来了多少流量。
  • 如果您的网站受到链接注入或其他损害,referrer可以帮助您确定攻击者是从哪个网站链接到您的站点的。
  • 如果您的网站需要防止来自恶意IP地址的攻击,referrer还可以帮助您确定攻击者是如何发现您的站点的。

如何在 Nginx 中使用 referrer?

要配置 Nginx 以记录referrer,您需要编辑 Nginx 配置文件。以下是典型的配置:

http {  # ...  log_format my_format '$remote_addr - $remote_user [$time_local] '                      '"$request" $status $body_bytes_sent '                      '"$http_referer" "$http_user_agent"';  # ...  server {    # ...    access_log /var/log/nginx/access.log my_format;    # ...  }}

在 Nginx 配置文件的上面,将创建一个记录格式。在这种情况下,将记录referrer值的"$http_referer"。在示例中,将"$http_referer"的值放在双引号中,这是因为referrer可能包含空格,并可能会破坏日志格式。

如何在查看日志分析 referrer 值?

要查看 Nginx 访问日志中的 referrer,请在日志文件中查找包含 referrer 值的行。

$ grep "google.com" /var/log/nginx/access.log

在上面的示例中,将搜索所有来自 google.com 的访问。您可以更改google.com以匹配任何其他源网站,或输入整个URL来获取特定页面的 referrer 值。

如何提高 Nginx referrer 的可靠性?

Nginx referrer可能会受到一些用户或程序的攻击,例如将referrer值设置为空或伪造referrer值。您可以采取以下措施来提高referrer的可靠性:

  • 使用防火墙阻止来自恶意IP地址的流量。
  • 使用 SSL / TLS来加密流量,以防止中间人攻击。Let's Encrypt提供免费SSL证书。
  • 在Nginx中使用防火墙Modsecurity,可以帮助防范恶意攻击。
  • 使用Cookie来跟踪用户会话,而不是仅使用referrer。