服务器问答

Nginx 调用 CDN 的正确姿势应该是怎么样的?
0
2021-05-19 22:46:36
idczone

Nginx 为例,

好像一般的写法有三种,目前我这边是用着第二种方式,不过 Chrome F12 看到一堆的 301,似乎姿势不太正确...

1 、

location /image {
    proxy_pass http://cdn.xxx.com/image;
}

2 、

location /image {
    rewrite ^ http://cdn.xxx.com/image;
    # 或
    rewrit大带宽服务器e 301 http://cdn.xxx.com/image;
}

3 、

location /image {
    rewrite ^/.*$ /;
    proxy_pass http://cdn.xxx.com/image;
}

你再转一次和 CDN 直接回源好像没啥区别了吧。。。

没打完就发出去了
正常操作应该是直接把 CDN 域名写在前端代码里?

nginx 转发 cdn 是什么操作,把 cdn 的优势直接丢掉

这什么操作?

最正确的方式应该是直接替换调用处使用的域名,再不济也只能是 301,proxy_pass 是什么鬼?完全浪费 CDN 还多花一遍流量费用?




前端那边都不把链接更换的,所以无奈暂时选择了 301 跳,当然这个方式也不是规范的...

在网上搜了,我也觉得 proxy_pass 很诡异...哈哈

有点窒息
13 反带那要 cdn 有何用
2 不带路径 301 过去也拿不到正确文件

CDN 跟你的 nginx 有啥关系? 除非你自建 CDN

你应该 rewrite 到 cdn 路径,反代的操作是真的有点骚。

让前端改,不改就拉 JB 倒

这。。。。。窒息的操作
就算要走你的入口,最多也是 301 过去 CDN
反代的话要 CDN 何用,用户找我,我找 CDN,CDN 找我回源,emmmmmm




没错...太晕倒了,网上查到的到底是什么鬼啊...哈哈哈

@chairuosen
有道理,不改拉倒了。

不止是把 CDN 的优势丢掉了,CDN 根本开不起来吧,怎么回源,死循环了

0.0 我有个疑问,都走 cdn 了还啥还要反向代理...................................

你都不怕你的服务器拖累人家 cdn 吗

我真没懂这薄操作,又懂得大哥给我普及普及,可能是我没跟上

这操作是错误的…反正

反向反向代理

满头问号的操作???

直接把前端页面地址改成 cdn 的。就好像给你在 tb 别人买东西直接填别人的地址寄过去就好了。你现在的做法是让 tb 寄到你自己家然后再寄给别人。

你直接用 sub filter,把页面地址替换掉就行了

令人窒息的操作.jpeg 反代 cdn 我想都不敢想

subs_filter 替换比较省事

降智打击…你这么做是把 nginx 当成 dns 用了啊……

什么叫前端不把链接更换 难道你换不了?

大概是没明白什么是 csn
你要把域名的 dns 改为 cdn 给你的 ip 或者域名,给 cdn 一个源站地址
用户请求这个链接直接走 cdn,没有再回到源站拿

手机打字 d 打成了 s……



学到了,谢谢~

使用场景:
比如, App 老版本, 访问服务器的图片地址, 域名与服务器一致; 然后, 系统升级, 将图片全迁移到了云端, 域名发生变化, 就需要对 App 老版本的图片链接进行兼容.
之前用过 rewrite, 看来 subs_filter 方案更好

反了吧,Nginx 应该在 CDN 后面才对啊

1 、让前端替换 cdn 链接
2 、前端提交链接或者返回给前端链接时后台替换

浪费钱。。也浪费时间。。。走 cdn 用户就不会直接到你服务器了。你还搞这个跳转干嘛。。要改前端

确实。cdn 回源到 nginx,nginx 应该是被动的。楼主说的只是自己源站的配置,只是 proxy_pass 到的应该是自己的某些 web 服务器,不应该是 cdn 服务器。

第一种和第三种肯定是不对的,反代 CDN ???第二种方式还算可以,最佳方案应该是前端处理

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服