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 ???第二种方式还算可以,最佳方案应该是前端处理