V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
EdifierDrew
V2EX  ›  NGINX

有大佬知道 nginx 如何配置 cdn 嘛,想折腾一下了。。

  •  
  •   EdifierDrew · 2020-11-13 23:09:12 +08:00 · 2367 次点击
    这是一个创建于 555 天前的主题,其中的信息可能已经有所发展或是发生改变。
    然而 google 了好久,也配置了好久也没个所以然。。。



    材料是二话不说双十一直接奥里给了的。。。。。



    材料:
    一台原站 1h1g40G200M 国内速度垃圾的一批的鸡,上传不超过 100kb/s,并且已经搭好 https 网站;
    剁好手的 CN2 鸡,nginx 已装;
    一个域名;



    理想结果:访问这个网站域名连接到的是 cn2 鸡,并且显示原站内容,相当于 cn2 鸡是 cdn 这样的;



    不用军哥 lnmp 的配置呀,因为硬盘就 5G,操作就是原版 nginx



    望有大佬看到并且点拨一下思路呗。。呜呜┭┮﹏┭┮自己配置的要崩溃了
    8 条回复    2020-11-15 08:03:15 +08:00
    lostberryzz
        1
    lostberryzz  
       2020-11-13 23:19:08 +08:00
    有什么地方不清楚呢,不是最基本的 nginx 反代么。。
    mango88
        2
    mango88  
       2020-11-13 23:19:44 +08:00   ❤️ 1
    域名的 A 记录填 CN2 的 ip 地址

    CN2 的 nginx proxy_pass 到 原站机器
    wafm
        3
    wafm  
       2020-11-13 23:58:15 +08:00
    老哥 你的头像
    program9527
        4
    program9527  
       2020-11-14 07:31:37 +08:00 via Android   ❤️ 1
    proxy_pass 反代原站,

    把 https 证书移动到这台 cdn 的服务器上。。

    为了加快响应速度,减少回源。使用 proxy_cache 缓存原站的 jpg png css js 等静态内容。

    具体可以搜索下这两个配置项
    37Y37
        5
    37Y37  
       2020-11-14 09:02:23 +08:00   ❤️ 1
    其实每太看明白,通过评论大概了解你想要的,就是通过这个节点加速原始网站?

    如果是的话可以参考下,我的网站托管在 github pages,通过香港主机代理加速,配置是这样的: https://blog.ops-coffee.cn/t/nginx-upstream-github-pages
    black11black
        6
    black11black  
       2020-11-15 07:45:36 +08:00
    @program9527
    带佬,CDN 不回源的话是用什么策略确保分发内容最新的呢
    program9527
        7
    program9527  
       2020-11-15 07:58:02 +08:00 via Android   ❤️ 1
    @black11black 不回源的话资源从哪来呢?需要直接把文件部署在这台设备上吧。不过可以通过脚本简化这个步骤:

    使用 git-hook 钩子,每次博客 push 新的内容的时候。这台搭建博客的机器上,使用 hook 钩子,自动 pull

    有点要注意的是,要用 nginx location 禁用掉 .git 目录的访问。否则别人可以 http://xxxxx/.git/gitconfig 访问到你的 git 目录。(之前吃过这个亏。。。)
    program9527
        8
    program9527  
       2020-11-15 08:03:15 +08:00 via Android
    如果文件不是用 git 托管的方式。。。那就用脚本,scp 命令,把文件从一台机器远程复制到另一台机器使用文件自动同步吧。至于如何触发脚本自动复制。又是另一个话题了。。。

    git 托管是以前我用来同步文件的方式。现在换成了 scp 同步了。。。

    因为 git 仓库多机器自动同步文件的方式会导致仓库越来越大。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1008 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 20:40 · PVG 04:40 · LAX 13:40 · JFK 16:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.