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
0312birdzhang 2020-04-20 19:30:17 +08:00 via iPhone
大概是没明白什么是 csn
你要把域名的 dns 改为 cdn 给你的 ip 或者域名,给 cdn 一个源站地址 用户请求这个链接直接走 cdn,没有再回到源站拿 |
28
0312birdzhang 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 ???第二种方式还算可以,最佳方案应该是前端处理
|