2016-07-28 62 views
1

我試圖阻止我的MP4的盜鏈nginx的「valid_referers」:Nginx的MP4防盜鏈不工作

valid_referers none blocked mysite.com; 
      if ($invalid_referer) { 
       return 403; 
      } 

但它不工作,在所有的MP4仍然顯示在誰偷的視頻網站如果我把一些隨機域名而不是「mysite.com」,視頻仍然有效。

如果它可以幫助,這是我的服務器的conf文件的樣子:

server { 
    listen 80; 
    server_name dl.mysite.com; 
    root /home/videos; 

    index index.php index.html; 

    autoindex off; 

    location ~ /\. { 
     deny all; 
    } 

    # serve static files directly 
    location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { 
     access_log off; 
     expires max; 
    } 

    # streaming 
    location ~ \.mp4$ { 

     valid_referers none blocked mysite.com; 
     if ($invalid_referer) { 
      return 403; 
     } 

     gzip off; 
     gzip_static off; 

     mp4; 
     mp4_buffer_size 1M; 
     mp4_max_buffer_size 300M; 
    } 

    location ~ .flv$ { 
     flv; 
    } 

    # removes trailing slashes 
    if (!-d $request_filename) 
    { 
     rewrite ^/(.+)/$ /$1 permanent; 
    } 


    # canonicalize codeigniter url end points 
    if ($request_uri ~* ^(/lobby(/index)?|/index(.php)?)/?$) 
    { 
     rewrite ^(.*)$/permanent; 
    } 

    # removes trailing "index" from all controllers 
    if ($request_uri ~* index/?$) 
    { 
     rewrite ^/(.*)/index/?$ /$1 permanent; 
    } 

    # unless the request is for a valid file (image, js, css, etc.), send to bootstrap 
    if (!-e $request_filename) 
    { 
     rewrite ^/(.*)$ /index.php?/$1 last; 
     break; 
    } 

    # catch all 
    error_page 404 /index.php; 

     location ~ \.php$ { 
     try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       fastcgi_read_timeout 600; 
       include fastcgi_params; 
     } 

} 

我做錯了什麼?

回答

0

我在過去有同樣的問題。我認爲這是行不通的,但事實上,它正在工作。只要確保你不允許除你以外的任何人。

有時候,leechers嘗試使用null或空引用來繞過這一點,並沒有可能的解決方案。我可以建議阻止資源目錄的一種可能的解決方案。請參閱https://www.atulhost.com/hotlink-protection-nginx此人以簡單的方式解釋了所有內容。

+0

儘管此鏈接可能會回答問題,但最好在此處包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/16889742) – user1438038