qkqpttgf / OneManager-php

An index & manager of Onedrive based on serverless. Can be deployed to Heroku/Glitch/Vercel/Replit/SCF/FG/FC/CFC/PHP web hosting/VPS.
3.76k stars 2.71k forks source link

您好作者,反向代理不能正常播放视频 #121

Closed wangchunin closed 4 years ago

wangchunin commented 4 years ago

您好作者,我用的国际版家庭Office onedrive api进入并使用反代,我发现去掉了?Origindomain才能使用,但是只是可以下载,无法正常观看视频。我不做前端后端开发,如果有低级错误非常抱歉。 只修改了您的 common.php 内容中一行: //return $aim . '/' . $uri . '&Origindomain=' . $domain; return $aim . '/' . $uri; ########这是视频在线播放时的请求头及响应######### 请求 URL: https://onedrive-to-heroku.herokuapp.com/y4mtaiKwjonbry665zp0SBXvpPtpx74uvyx-bzQ-kImgkZLXaaa5hZEmOGpGvS6nXlUpG0w-2TA4bHRM2YWY_9C0l0jQoI2xqIfBsS4dsZepbRps4eD43sMrXaF4xC03Rwkq8_EPyVuPPhxpy2ssLtcWuf6NgnOsmcNnN1l06RY5s_1-hzSqQpXGXOVUUUc-_x6RdaCJwbSU500KDLQeLgNDt3o5X0mQC6VaPqumngcWO-l2ri7Vn2PerOBNxgDBitH 引用站点策略: strict-origin-when-cross-origin

Accept-Ranges: bytes Cache-Control: public Connection: keep-alive Content-Disposition: attachment; filename="BAAM-iwara_batch.mp4" Content-Length: 454580128 Content-Location: https://public.sn.files.1drv.com/y4mAb271ff-tOLeb1d8TP2Nuu0DTOnDp0-QYiLdgtJk5M2WMvDo_TXww1uFZ_VnACHPT7k_9wSM55CsGmefmmirngIrIQc0T72tqMU4CpgRmHhd7urik9Vp9xBYU_k-h0hrCDN-zJNAjD4BaNwcORlpglT7eS5IQpMMkGY6w5oRDmGLS62sSbiTpcIbjQP-Aqqz47wh_wQetXO0RFlF1-nFZp-g-Oui7r1_q1NE1ehpnrw Content-Range: bytes 0-454580127/454580128 Content-Type: video/mp4 Ctag: aYzo0MkIxQkY0Q0ZCNTBDRDc3ITYxODU4LjI1Nw Date: Tue, 15 Sep 2020 05:33:28 GMT Etag: aNDJCMUJGNENGQjUwQ0Q3NyE2MTg1OC4yNg Expires: Mon, 14 Dec 2020 05:33:28 GMT Last-Modified: Sun, 09 Aug 2020 15:55:21 GMT Ms-Cv: kIgdHC8Vw0WVSJTcfIYBrA.0 P3p: CP="BUS CUR CONo FIN IVDo ONL OUR PHY SAMo TELo" Server: Caddy Strict-Transport-Security: max-age=31536000; includeSubDomains Via: 1.1 vegur X-Asmversion: UNKNOWN; 19.541.903.2003 X-Content-Type-Options: nosniff X-Msedge-Ref: Ref A: 2A3AD63DEA9B44A2B56DBDE45FAB4F0A Ref B: ASHEDGE1416 Ref C: 2020-09-15T05:33:28Z X-Msnserver: SA2PPF5AFDBB2BC X-Preauthinfo: rv;poba; X-Sqldataorigin: S X-Streamorigin: X

Accept: / Accept-Encoding: identity;q=1, *;q=0 Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 Connection: keep-alive Host: onedrive-to-heroku.herokuapp.com Origin: https://onedrive-lulu.herokuapp.com Range: bytes=0- Referer: https://onedrive-lulu.herokuapp.com/ Sec-Fetch-Dest: video Sec-Fetch-Mode: cors Sec-Fetch-Site: cross-site User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.22 Safari/537.36 Edg/86.0.622.11 ############################ https://onedrive-to-heroku.herokuapp.com是我的反代地址 https://onedrive-to-heroku.herokuapp.com/$url 这个地址我立即复制出来用浏览器下载是可以下载的

麻烦您了,自己太菜了,也找了很久的资料

qkqpttgf commented 4 years ago

可能你的反代有点不太对? 你写的herokuapp我访问不了,你删掉了,我目前无法判断

wangchunin commented 4 years ago

谢谢您的答复,我调试的时候换了几个所以删掉了原来的,抱歉。 我已经解决了这个问题 ############

4.反代NGINX配置: location / { expires 12h; if ($request_uri ~* "(php|jsp|cgi|asp|aspx)") { expires 0; } proxy_pass https://94ish-my.sharepoint.com; proxy_set_header Host 94ish-my.sharepoint.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_buffering off; proxy_cache off; proxy_set_header X-Forwarded-Proto $scheme; add_header X-Cache $upstream_cache_status; } ############## 如您所说,的确是反代没有配置好,也希望对你们有所帮助,感谢作者开发的项目,十分好用!

qkqpttgf commented 4 years ago

所以跟Origindomain是没关系的,我这边是没有问题的,不用去掉。 你上面回复中的123都不用,只要你反代的配置没问题,就没问题。

blackness3 commented 3 years ago

我也是国际家庭版, 出现了这个问题,去掉了【&Origindomain=原域名】 才能使用 看你的问题,但是我用的宝塔面板反代的,反代配置应该没问题阿,请问您是怎么解决的?

qkqpttgf commented 3 years ago

下版本尝试解决一下

wangchunin commented 3 years ago

我也是国际家庭版, 出现了这个问题,去掉了【&Origindomain=原域名】 才能使用 看你的问题,但是我用的宝塔面板反代的,反代配置应该没问题阿,请问您是怎么解决的?

PROXY-START/

location / { expires 12h; if ($request_uri ~* "(php|jsp|cgi|asp|aspx)") { expires 0; } proxy_pass https://public.sn.files.1drv.com; proxy_set_header Host public.sn.files.1drv.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_buffering off; proxy_cache off; proxy_set_header X-Forwarded-Proto $scheme; add_header X-Cache $upstream_cache_status; }

PROXY-END/

wangchunin commented 3 years ago

用这个,配置不好可能出现点了视频播放就一直加载完,这会浪费你的流量,正常情况是,只会加载一段,等播放到了,或者手动快进才会继续加载,以上的配置没有问题。先在宝塔中建立一个反代,进去全选替换掉,https://public.sn.files.1drv.com 可能会不一样,你自己看看。

qkqpttgf commented 3 years ago

昨天的新版本应该解决了这个问题,已经把&改成?了,(我程序问题解决了,目标反代服务器我就不太会了),试试。

blackness3 commented 3 years ago

昨天的新版本应该解决了这个问题,已经把&改成?了,(我程序问题解决了,目标反代服务器我就不太会了),试试。 没问题了 。升级了新板可以了

blackness3 commented 3 years ago

昨天的新版本应该解决了这个问题,已经把&改成?了,(我程序问题解决了,目标反代服务器我就不太会了),试试。

有一个新问题出现了。就是目前实际解析到的原始域名有两个, https://public.sn.files.1drv.com(视频是snhttps://public.by.files.1drv.com(文件是by) image 这样的话在后台设置里只能反代其中之一阿。要不然就加速文件不然就加速视频 ,貌似又是个人版才有这个问题。是否可以增加设置多个反代?

wangchunin commented 3 years ago

你先手动看看两个能不能通用呗

wangchunin commented 3 years ago

不行的话,看能不能在nginx中根据特征匹配,视频和文件的url中肯定有不同特征,我不是太懂这个

qkqpttgf commented 3 years ago

这是你目标(反代)服务器要操心的事情,跟我程序无关,我已经提供了你应该要反代的域名Origindomain给你了。