歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

nginx防盜鏈配置教程

判斷一個請求的Referer可以有效的防止盜鏈,使用nginx相應的HTTP Referer模塊(HTTP Referer)可以實現此功能.
當一個請求頭的Referer字段中包含一些非正確的字段,這個模塊可以禁止這個請求訪問站點。
這個頭可以隨意的偽造,因此,使用這個模塊並不能100%的阻止這些請求,絕大多數拒絕的請求來自一些典型的浏覽器,可以認為這些典型的浏覽器並不能提供一個”Referer”頭,甚至是那些正確的請求。
如下例:
 

location /photos/ {
    valid_referers none blocked www.mydomain.com mydomain.com;
       
      if ($invalid_referer) {
        return   403;
      }
    }


這裡只有一個重要的指令valid_referers:
這個指令在referer頭的基礎上為 $invalid_referer 變量賦值,其值為0或1。
可以使用這個指令來實現防盜鏈功能,如果valid_referers列表中沒有Referer頭的值, $invalid_referer將被設置為1(參照前例)。
參數可以使如下形式:

    none意為不存在的Referer頭

    blocked意為根據防火牆偽裝Referer頭,如:“Referer: XXXXXXX”。

    server_names為一個或多個服務器的列表,0.5.33版本以後可以在名稱中使用“*”通配符。

Copyright © Linux教程網 All Rights Reserved