2013-11-24 9 views
0

我在我的網站上提供付費視頻,僅向會員提供。目前,我正在通過PHP腳本完成整個身份驗證和視頻流,但它傾向於使用大量資源,我想使用nginx來實際提供文件。要做到這一點,我發現你必須從你的PHP腳本中發送X-Accel-Redirect頭文件,然後將文件傳遞給nginx。使用X-Sendfile屏蔽靜態文件的位置

但是,存在一個問題,要傳輸的視頻的網址不是由與此網站相同的服務器提供的。它來自我的其他網站,完全位於不同的VPS服務器(和域)上。無論如何,我想這個簡單的測試腳本:

<?php 

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

但我不知道在我nginx的配置用什麼來提供服務的文件在http://other-site.com/protected/videos/test.mp4,同時還對用戶隱藏原始視頻網址。

當我訪問上面的測試腳本,Nginx將返回一個404 Not Found和錯誤日誌有像這樣的條目:

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的路徑在該網站的文檔根目錄,而不是意識到它是另一個位置的資源,只是「代理」文件。

任何人有任何提示讓這項工作?

回答

1

我相信你正試圖代理該mp4。我想這個問題是在nginx服務器的配置中。

在這個模塊看看:

​​