nginX 热链接保护失败

nginX 热链接保护失败

我有以下休闲配置来禁用 nginX 上的热链接。

        location / {
        root   /var/www/html;
        index  index.html index.htm;
    }

    location ~ \.(xml|jpg|jpeg)$  {
         root /var/www/html;
         valid_referers  none blocked  www.domain.com dev.domain.net;
         if ($invalid_referer)  {
              return 444;
         }
     }

我已经多次重新加载 nginX,但仍然可以访问 Facebook 的图片。/var/www/html 中有几个文件夹。

我是否遗漏了什么?

答案1

不确定您是否知道,但是 nginx 中有一个错误,如果该代码在单独的文件中(不是 nginx.conf ),重新加载将不会获取包含文件中的更改;您将需要停止/启动 nginx。

逻辑上也有点变化,因为你列出了有效的推荐人,那么这样说不是更好吗?

if (!$valid_referrer)

答案2

检查访问日志中引用:

IP - - [20/Feb/2011:20:11:51 +0000] "GET /GET HTTP/1.1" 200 3710 "REFER" "USER_AGENT"

有效的引用者:

  • none 表示没有“Referer”标头。
  • 阻止意味着防火墙屏蔽了 Referer 标头(非 http(s))

相关内容