允许使用NGINX从一个域访问

时间:2017-09-14 06:02:58

标签: nginx html5-video jwplayer nginx-location nginx-reverse-proxy

我正在寻找一种解决方案,以防止与NGINX的JWPlayer热链接。假设我在http://mydomain1.com/file.mp4配置了一个NGINX服务器作为反向代理,我会在http://mydomain2.com上的另一个VPS上将我的网站http://mydomain2.com放到我的网站上。如何限制文件以便仅在allow & deny上播放,而不在其他地方播放?

我尝试了{{1}}指令,但之后我意识到这是一个HTML5流媒体,因此指令会阻止用户流。

2 个答案:

答案 0 :(得分:0)

在mydomain1.com的nginx上。确保您有一个额外的块来侦听默认主机并拒绝所有流量。然后在现有的listen块中添加一条规则,仅允许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";
         }
   }
}

答案 1 :(得分:0)

因为mp4 url​​将放在HTML5播放器中,这意味着远程地址(用户的机器)将始终直接与反向代理通信。因此,除了nginx安全链接模块之外,不可能使用其他方法来限制访问。有了这个模块,我现在可以根据用户的IP,到期时间,网址和密码来限制访问。