是否可以使用 nginx 记录(但允许完成请求)无效的引荐来源网址?

发布于 2024-11-17 12:38:48 字数 280 浏览 1 评论 0原文

当使用 nginx 作为简单的网络服务器时(没有反向代理魔法,甚至没有 cgi 等...)是否可以设置有效引用者列表并执行类似的操作:

if ( referrer not in list of VALID referrers ) {
    log this referrer
}

是否可以使用标准 nginx 源或任何额外的模块/扩展?

据我了解,这可能会稍微涉及一些,不需要写完整的conf...向我指出正确的conf指令就足够了:)

谢谢!

when using nginx as a simple webserver (no reverse proxy magic, not even cgi, etc...) is it possible to set a list of VALID referrers and do something like :

if ( referrer not in list of VALID referrers ) {
    log this referrer
}

is something of this sort possible using a standard nginx source OR any additional modules/extensions?

as i understand this could possibly be slightly involved, no need for a full conf write up... pointing me at the correct conf directives will suffice :)

thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

被你宠の有点坏 2024-11-24 12:38:48
http {
  map $http_referrer $log_ref {
   default               0;

   http://referrer1/path 1;
   ~^http://referrer2/   1;
  }

  server {

    location / {
      if ($log_ref) {
        access_log ....
      }
    }

  }
}

Nginx 版本 0.9.6+ 支持 map 中的正则表达式。标记 ~ 用于表示它们。

http {
  map $http_referrer $log_ref {
   default               0;

   http://referrer1/path 1;
   ~^http://referrer2/   1;
  }

  server {

    location / {
      if ($log_ref) {
        access_log ....
      }
    }

  }
}

Nginx version 0.9.6+ supports regular expressions in map. Marker ~ serves to denote them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文