反向代理访问被 q 资源是何原理 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Amit
V2EX    问与答

反向代理访问被 q 资源是何原理

  •  
  •   Amit 2015 年 4 月 20 日 5650 次点击
    这是一个创建于 3930 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为众所周知的原因dropbox外链无法使用,后来了解到可以通过反向代理可以访问被墙资源。
    server{
    listen 80;
    server_name img.xxx.com;

    location / { proxy_pass https://dl.dropboxusercontent.com/u/xxxxxxxx/; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } 

    }
    在ngnix上使用上面的配置实现了墙内访问,但对反向代理的理解还有点疑问。
    原本以为反向代理只是做了一次跳转,可以将不同服务器上的资源映射到一处,顺便美化一下url。
    现在看来是我想简单了,即使ip被墙反代一样有效,不像修改本地hosts文件,ip被墙后就没办法了。反代应该有一个从dl.dropboxusercontent.com获取真实资源的过程,这个功能是nginx来执行的吧。网上配置的方法挺多,但都没讲清楚原理(好吧,作为一个小白我承认好多解释我看不懂。。),网上哪里有系统一点的资料吗?
    ngnix重写url也可以起到美化url的目的吧,但是这个做不到翻q吧。
    能不能通过url重写将img.xxx.com转换成www.xxx.com/image/这样的格式呢?这样看起来习惯一些。

    PS:话说零几年的时候就创建了dropbox账号,但也没怎么用,后来又被墙,国内用不了就把账号删除了。最近新注册了一个菜发现已经不支持public外链了,我那个郁闷啊。后来发现淘宝有老账号卖,然后就买了一个,神奇的淘宝啊。

    11 条回复    2015-04-21 12:08:34 +08:00
    Marfal
        1
    Marfal  
       2015 年 4 月 20 日
    同为小白,我的理解是nginx反代其实是通过nginx服务器向dropbox请求资源的,如果服务器在墙外的话,是可以起到FQ的效果,缓存的话可以减去nginx向dropbox请求资源的环节来加速访问,对一些博客之类内容变动较小的开启缓存会比较好。
    Amit
        2
    Amit  
    OP
       2015 年 4 月 20 日
    又出现一个问题,因为原来的ssl证书不包括img.xxx.com这个二级域名,所以网站内外链dropbox的图片文件会出现ssl不安全提示,浏览器地址栏的绿色小锁变灰色了⊙⊙b汗
    mcone
        3
    mcone  
       2015 年 4 月 20 日
    别的没仔细看,针对ps里面的内容,你新建的号是可以支持外链的,只是没有老号的public文件夹罢了。
    在你share之后,修改一下一部分域名就可以完美外链了(相信你多看两个例子的话会知道怎么改的)

    恭喜你很可能被淘宝奸商给忽悠了
    wbbim
        4
    wbbim  
       2015 年 4 月 20 日
    NewYear
        5
    NewYear  
       2015 年 4 月 20 日
    原理就是,你的服务器nginx去下载dropbox的资源,然后传输给浏览器。

    用www的子目录image可以吗,当然可以,没记错的话直接修改location / { 这行成为location /image/ 和

    把location /image/ {
    proxy_pass https://dl.dropboxusercontent.com/u/xxxxxxxx/;
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }放入你的www的规则里面,放前面

    另外提醒你,最好做下缓存。
    NewYear
        6
    NewYear  
       2015 年 4 月 21 日
    @mcone 发现理解能力变弱了好多,阅读能力也弱了好多,明明你说了修改下域名……而我还在你楼下的帖子里反复对比。

    其实那个修改域名没有public来得爽吧。
    xiaogui
        7
    xiaogui  
       2015 年 4 月 21 日
    Dropbox 一直支持 public 外链的
    orzfly
        8
    orzfly  
       2015 年 4 月 21 日   1
    Amit
        9
    Amit  
    OP
       2015 年 4 月 21 日
    @mcone
    @NewYear
    嗯 修改链接是可以外链,但是比较麻烦,而且这不是官方支持飞方式,怕哪天回处问题。
    NewYear
        10
    NewYear  
       2015 年 4 月 21 日
    @orzfly 好东西。
    mcone
        11
    mcone  
       2015 年 4 月 21 日   1
    @Amit 官方是知道的,另外官方还有文档教你加上?dl=1

    另外,建议你看看这个页面,关于public 文件夹的说明,以后不要再被某宝奸商忽悠了https://www.dropbox.com/en/help/201
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5335 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 07:05 PVG 15:05 LAX 23:05 JFK 02:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86