0

我正在寻找一种解决方案来防止与 NGINX for JWPlayer 进行热链接。假设我有一个配置为反向代理的 NGINX 服务器http://mydomain1.com,我将获取 urlhttp://mydomain1.com/file.mp4放在托管在另一个 VPS 上的我的网站上http://mydomain2.com。如何限制文件,使其http://mydomain2.com只能在其他地方播放,而不能在其他地方播放?

我尝试allow & deny了指令,但后来我意识到这是一个 HTML5 流,因此指令将阻止流向用户。

4

2 回答 2

1

在 mydomain1.com 的 nginx 上。确保您有一个额外的块来侦听默认主机并拒绝所有流量。然后在现有的监听块中,我们添加一个规则,只允许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";
         }
   }
}
于 2017-09-14T14:06:30.870 回答
1

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

于 2017-09-16T12:51:11.883 回答