0

NGINX for JWPlayerとのホットリンクを防止するソリューションを探しています。 http://mydomain1.comでリバースプロキシとしてNGINXサーバを設定しているとしたら、別のVPSでホストされているウェブサイトにURL http://mydomain1.com/file.mp4を入れてhttp://mydomain2.comにしてください。 http://mydomain2.comでしか再生できないようにファイルを制限するにはどうしたらいいですか?NGINXで1つのドメインからのアクセスを許可する

私はallow & denyディレクティブを試しましたが、これはHTML5ストリーミングであることに気づき、ディレクティブがストリームをユーザーにブロックするようにしました。

+0

あなたはブラウザにmydomain2.comと言うだけでアクセスを許可しますか? –

+0

申し訳ありませんが、私はそれを明確にしませんでした。私はdomain1(リバースプロキシである)から得たリンクをhtml5プレーヤーを使ってdomain2(異なるホスト上の2つのドメイン)でしか再生できないようにしたい。その目的のためにNGINXを設定する方法はありますか?私もvalid_referersディレクティブを試しましたが、動作しません。 –

+0

サーバが異なる場合は、domain1ではなくdomain2で変更が必要です。 domain1 nginxにアクセスできますか? –

答えて

0

を許可するように、これは常に、リバースプロキシと直接通信するリモートアドレス(ユーザーのマシン)を意味します。したがって、nginxセキュアリンクモジュール以外の方法でアクセスを制限することは不可能です。このモジュールでは、ユーザーのIP、有効期限、URL、および秘密の単語に基づいてアクセスを制限できるようになりました。

0

mydomain1.comのnginxにあります。デフォルトのホストをリッスンし、すべてのトラフィックを拒否するブロックが1つ追加されていることを確認してください。その後、我々は追加聞く既存のブロックにルールがMP4のURLはHTML5プレーヤーに入れられますのでのみwww.mydomain2.com

map $http_referer $not_allowed { 
    default 0; 
    "~www.mydomain2.com" 1; 
} 

server { 
    listen 80 default_server; 

    server_name _; 

    deny all; 
} 

server { 
    listen 80; 
    server_name www.mydomain1.com 

    location/{ 
     if ($not_allowed) 
     { 
      return 404 "Not sure its there"; 
     } 
    } 
} 
+0

ありがとう、私はあなたの設定を試みたが、mp4ファイルへのユーザーのアクセスをブロックした。私はこれがHTML5プレーヤーの仕組みに起因すると考えています。彼らはドメイン2を経由しないユーザのIPのアイデンティティでリバースプロキシから直接ファイルを「ストリーミング」するので、サーバはそれを不正なアクセスとみなします。 Nginx http_secure_link_moduleを使って、代わりにそれを実装しようとしました。 –

関連する問題