全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1155|回复: 6

[疑问] nginx 反代替换没效果

[复制链接]
发表于 2020-5-11 17:35:45 | 显示全部楼层 |阅读模式
本帖最后由 ysmintor 于 2020-5-11 22:29 编辑

想反代 oneindex 的下载地址 xxx-my.sharepoint.com->cdn.aaa.com,在反代配置的地方用了 sub_filter ,但下午的文件链接还是 xxx-my.sharepoint.com 开头,没效果。麻烦大佬看下。
我为什么要这样反代?当然是加速,国内走的 cdn(nginx 反代做的 cdn),国际仍然是走 xxxx-my.sharepoint.com,只加速国内的,方便别人下载,国际线路仍然利用 onedrive 的带宽!

不想在 oneindex 把下载链接替换写死,这样不方便以后换 CDN,国内和国际的下载要做区分,当然代码也能做到,我觉得要用 ip 判断麻烦。

Updated:
感谢大佬提醒,对于302要采用 proxy_redirect 修改。搞了一下午,nginx 的正则匹配开始不匹配上,还以为不对,又是查官网,又用 firefox 调试,确定 oneindex 跳转后下载链接是放在 Location 里。
这是我的处理办法。cdn.AAAA.com (nginx 反代做的 cdn)反向代理 xxxx-my.sharepoint.com。
  1. proxy_redirect ~^(http[s]?)://xxxx-my.sharepoint.com(/.+)$  $1://cdn.AAAAA.com$2;
复制代码


同时,对于 Cloudreve 用了 oneindex,下载资源时没有302,点击请求是一个 put请求,有点怪。
用 sub_filter 能解决。
  1. proxy_set_header Accept-Encoding "";
  2. sub_filter_types *;
  3. sub_filter_once off;
  4. sub_filter 'xxxx-my.sharepoint.com' 'cdn.AAAA.com';
复制代码

   

#PROXY-START/
location  ~* \.(php|jsp|cgi|asp|aspx)$
{
        proxy_set_header Accept-Encoding "";
    proxy_pass https://od.aaaa.com;
    proxy_set_header Host od.aaaa.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;
   
    sub_filter "xxx-my.sharepoint.com" "cdn.aaa.com";
    sub_filter_once off;
    sub_filter_types *;
}
location /
{
        proxy_set_header Accept-Encoding "";
    proxy_pass https://od.aaa.com;
    proxy_set_header Host od2.aaa.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;
   
    add_header X-Cache $upstream_cache_status;
   
    sub_filter "xxx-my.sharepoint.com" "cdn.aaaa.com";
    sub_filter_once off;
    sub_filter_types *;
   
    #Set Nginx Cache
   
            add_header Cache-Control no-cache;
    expires 12h;
}

#PROXY-END/
发表于 2020-5-11 17:37:10 | 显示全部楼层
反代oneindex干嘛
反代od就好了啊
 楼主| 发表于 2020-5-11 17:46:45 | 显示全部楼层
steven52880 发表于 2020-5-11 17:37
反代oneindex干嘛
反代od就好了啊

反代 oneindex 是国内区域反代,其它区域不反代。
oneindex 不就是 od 吗?
没明白你的意思
发表于 2020-5-11 17:47:57 | 显示全部楼层
ysmintor 发表于 2020-5-11 17:46
反代 oneindex 是国内区域反代,其它区域不反代。
oneindex 不就是 od 吗?
没明白你的意思

反代OneDrive的域名,或者套cdn
然后在oneindex里面配置
发表于 2020-5-11 17:49:54 来自手机 | 显示全部楼层
肯定没用啊……因为是302跳转的,跳转的Onedrive域名写在header里
发表于 2020-5-11 18:00:06 | 显示全部楼层
302跳转要用proxy_redirect替换
发表于 2020-5-11 20:21:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-23 17:42 , Processed in 0.062782 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表