
Nginx 为例,
好像一般的写法有三种,目前我这边是用着第二种方式,不过 Chrome F12 看到一堆的 301,似乎姿势不太正确...
1 、
location /image { proxy_pass http://cdn.xxx.com/image; } 2 、
location /image { rewrite ^ http://cdn.xxx.com/image; # 或 rewrite 301 http://cdn.xxx.com/image; } 3 、
location /image { rewrite ^/.*$ /; proxy_pass http://cdn.xxx.com/image; } 1 yhxx 2020-04-20 16:31:10 +08:00 你再转一次和 CDN 直接回源好像没啥区别了吧。。。 |
2 yhxx 2020-04-20 16:31:34 +08:00 没打完就发出去了 正常操作应该是直接把 CDN 域名写在前端代码里? |
3 b821025551b 2020-04-20 16:34:03 +08:00 nginx 转发 cdn 是什么操作,把 cdn 的优势直接丢掉 |
4 wangyzj 2020-04-20 16:35:23 +08:00 这什么操作? |
5 yuzo555 2020-04-20 16:40:24 +08:00 最正确的方式应该是直接替换调用处使用的域名,再不济也只能是 301,proxy_pass 是什么鬼?完全浪费 CDN 还多花一遍流量费用? |
6 saytesnake OP |
7 saytesnake OP @yuzo555 在网上搜了,我也觉得 proxy_pass 很诡异...哈哈 |
8 just1 2020-04-20 16:53:03 +08:00 via Android 有点窒息 13 反带那要 cdn 有何用 2 不带路径 301 过去也拿不到正确文件 |
9 fancy111 2020-04-20 16:54:32 +08:00 CDN 跟你的 nginx 有啥关系? 除非你自建 CDN |
10 privil 2020-04-20 16:57:48 +08:00 你应该 rewrite 到 cdn 路径,反代的操作是真的有点骚。 |
11 chairuosen 2020-04-20 17:00:36 +08:00 让前端改,不改就拉 JB 倒 |
12 Xusually 2020-04-20 17:01:22 +08:00 这。。。。。窒息的操作 就算要走你的入口,最多也是 301 过去 CDN 反代的话要 CDN 何用,用户找我,我找 CDN,CDN 找我回源,emmmmmm |
13 saytesnake OP |
14 stillyu 2020-04-20 17:10:06 +08:00 不止是把 CDN 的优势丢掉了,CDN 根本开不起来吧,怎么回源,死循环了 |
15 Cmdhelp 2020-04-20 17:13:18 +08:00 0.0 我有个疑问,都走 cdn 了还啥还要反向代理................................... |
16 Cmdhelp 2020-04-20 17:14:41 +08:00 你都不怕你的服务器拖累人家 cdn 吗 |
17 Cmdhelp 2020-04-20 17:15:22 +08:00 我真没懂这薄操作,又懂得大哥给我普及普及,可能是我没跟上 |
18 saytesnake OP @Cmdhelp 这操作是错误的…反正 |
19 GrayXu 2020-04-20 18:07:39 +08:00 反向反向代理 |
20 superrichman 2020-04-20 18:14:57 +08:00 via iPhone 满头问号的操作??? |
21 superrichman 2020-04-20 18:19:18 +08:00 via iPhone 直接把前端页面地址改成 cdn 的。就好像给你在 tb 别人买东西直接填别人的地址寄过去就好了。你现在的做法是让 tb 寄到你自己家然后再寄给别人。 |
22 xmlf 2020-04-20 18:25:48 +08:00 via Android 你直接用 sub filter,把页面地址替换掉就行了 |
23 sadfQED2 2020-04-20 18:32:38 +08:00 via Android 令人窒息的操作.jpeg 反代 cdn 我想都不敢想 |
24 xiaoz 2020-04-20 18:58:36 +08:00 via Android subs_filter 替换比较省事 |
25 Aruforce 2020-04-20 19:21:47 +08:00 via Android 降智打击…你这么做是把 nginx 当成 dns 用了啊…… |
26 jugelizi 2020-04-20 19:26:19 +08:00 via iPhone 什么叫前端不把链接更换 难道你换不了? |
27 1daydayde 2020-04-20 19:30:17 +08:00 via iPhone 大概是没明白什么是 csn 你要把域名的 dns 改为 cdn 给你的 ip 或者域名,给 cdn 一个源站地址 用户请求这个链接直接走 cdn,没有再回到源站拿 |
28 1daydayde 2020-04-20 19:30:55 +08:00 via iPhone @0312birdzhang 手机打字 d 打成了 s…… |
29 saytesnake OP |
30 gadmyth 2020-04-20 23:07:11 +08:00 使用场景: 比如, App 老版本, 访问服务器的图片地址, 域名与服务器一致; 然后, 系统升级, 将图片全迁移到了云端, 域名发生变化, 就需要对 App 老版本的图片链接进行兼容. 之前用过 rewrite, 看来 subs_filter 方案更好 |
31 wizardoz 2020-04-21 10:19:24 +08:00 反了吧,Nginx 应该在 CDN 后面才对啊 |
32 guiling 2020-04-21 10:21:30 +08:00 1 、让前端替换 cdn 链接 2 、前端提交链接或者返回给前端链接时后台替换 |
33 yc8332 2020-04-21 10:46:38 +08:00 浪费钱。。也浪费时间。。。走 cdn 用户就不会直接到你服务器了。你还搞这个跳转干嘛。。要改前端 |
34 roidinev 2020-04-21 11:49:34 +08:00 @wizardoz 确实。cdn 回源到 nginx,nginx 应该是被动的。楼主说的只是自己源站的配置,只是 proxy_pass 到的应该是自己的某些 web 服务器,不应该是 cdn 服务器。 |
35 MonoLogueChi 2020-04-21 15:45:13 +08:00 via Android 第一种和第三种肯定是不对的,反代 CDN ???第二种方式还算可以,最佳方案应该是前端处理 |