V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lonelygod365
V2EX  ›  问与答

请问源站与 web 服务器的问题

  •  
  •   lonelygod365 · 2021-06-14 16:23:16 +08:00 · 629 次点击
    这是一个创建于 1040 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在看一些理论,所以请教一下特别小白的问题。

    如果 CDN 的回源地址是一个对象存储,如 aws s3 这种。
    那么如果一个用户请求中没有想要的静态地址的话,这个请求会转到这个对象存储吗?

    后面如果有一个应用防火墙,那回源的动作是不是应该由应用防火墙来执行啊?

    再就是,如果静态请求都可以找对象存储,那我前端要 web server 的作用是什么?

    5 条回复    2021-06-14 17:16:10 +08:00
    yuzo555
        1
    yuzo555  
       2021-06-14 16:33:28 +08:00
    第一个问题没太理解,不过:
    回源地址是对象存储,那么除非特殊分源配置,用户对这个域名的所有请求都会到对象存储,如果对象存储文件不存在,那么就会报错 404 (也可能对象存储配置了报错跳转策略等)。

    CDN 本身如果配置了回源规则或者一些边缘规则,可以设置一些特定请求不回源。

    第二个问题,如果你的网站时纯静态站,完全可以只用对象存储,不用 web 服务器。
    lonelygod365
        2
    lonelygod365  
    OP
       2021-06-14 16:36:30 +08:00 via iPhone
    @yuzo555 感谢

    如果网站是动静结合的,那么我可不可以理解为一部分静态请求可以去到对象存储,而对象存储是不是可以再次重定向某些请求到 web 服务器,然后再由 web 服务器执行?

    而动态请求是不是都必须经过 web 服务器解析,然后转给后面的应用服务器?

    我的理解正确吗
    yuzo555
        3
    yuzo555  
       2021-06-14 16:46:04 +08:00
    你这种情况最佳解决方案是动静分离,单独拿个域名出来以对象存储做源站放静态资源。

    你一定要用同一个域名的话,可以找一些可以 [根据后缀、根据目录回不同的源] 的 CDN 来做。

    某些对象存储是有一些 302 能力,但这样属实折腾,效率低。
    lonelygod365
        4
    lonelygod365  
    OP
       2021-06-14 17:04:12 +08:00 via iPhone
    @yuzo555 谢谢

    那么动静分离,我可以理解为,静态网站托管给对象存储。

    不过动态请求依旧是还要 apache 转交给后面的 tomcat 吗?

    这里我确实有点蒙,静态都托管了,那处理静态的 apache 应该要干啥
    Jirajine
        5
    Jirajine  
       2021-06-14 17:16:10 +08:00 via Android
    @lonelygod365 api 服务也得用 web 服务器啊,https 、鉴权、过滤、日志、cgi 、负载均衡等等。
    你一直用 Apache 可能没感觉,但一些新型的 web 服务器有很多强大的功能,像是边缘路由、oauthkeeper 等。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1132 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 23:41 · PVG 07:41 · LAX 16:41 · JFK 19:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.