首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用X-Sendfile屏蔽静态文件的位置

使用X-Sendfile屏蔽静态文件的位置
EN

Stack Overflow用户
提问于 2013-11-25 01:16:01
回答 2查看 823关注 0票数 1

我在我的网站上提供付费视频,这些视频只对会员开放。目前,我正在通过PHP脚本进行整个身份验证和视频流,但是它往往会使用大量资源,我希望使用nginx来实际提供文件。要做到这一点,我发现你必须从你的X-Accel-Redirect脚本发送nginx头文件,然后将文件传递给nginx。

然而,有一个问题,要流式传输的视频的URL不是由与此站点相同的服务器提供的。它来自我的另一个网站,它位于一个完全不同的VPS服务器(和域)上。无论如何,我尝试了这个简单的测试脚本:

代码语言:javascript
复制
<?php

header('X-Accel-Redirect: http://other-site.com/protected/videos/test.mp4');

但我不知道在我的nginx配置中使用什么来服务于http://other-site.com/protected/videos/test.mp4中的文件,同时仍然对用户隐藏原始视频URL。

当我访问上面的测试脚本时,nginx返回一个404 Not Found,错误日志中有一个条目,如下所示:

代码语言:javascript
复制
open() "/var/www/site.com/web/publichttp://other-site.com/protected/videos/test.mp4" failed (2: No such file or directory)

因此,nginx显然是在尝试将http://other-site.com/protected/videos/test.mp4解析为站点文档根目录中的路径,而不是识别它是另一个位置的资源并只是“代理”该文件。

有没有人有什么建议可以让它工作?

EN

回答 2

Stack Overflow用户

发布于 2014-01-10 00:45:32

我相信你是在试图代理那个mp4。我猜问题出在nginx服务器的配置上。

看一下这个模块:

http://wiki.nginx.org/HttpProxyModule

票数 1
EN

Stack Overflow用户

发布于 2016-09-20 10:02:38

使用nginx通过X-Accel-Redirect转发静态文件通常是针对本地托管资源完成的。但我确实找到了这个,我想这就是你要找的:Use Nginx to proxy files from remote location using X-Accel-Redirect

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20177420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档