V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
amet
V2EX  ›  云计算

云函数或 API 网关的地址解析问题

  •  
  •   amet · 2022-04-30 12:03:54 +08:00 · 2893 次点击
    这是一个创建于 956 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天体验了下一家云服务提供商的 Event 类型云函数,通过 API 网关由 GET 请求触发。部署到公网得到了这种形式的 URL:https://{unique-id}.gz.apigw.tencentcs.com/release/{my-event-function}

    我发现一旦重新部署了云函数,或是修改了流量控制,就只有 Chromium 系的浏览器(如 Chrome 和 Edge )可以访问这个 API 了。curl ,Postman 和火狐都会「 Could not resolve host 」,需要等差不多半小时才能正常。(因为这个事情请教在线客服的时候还很尴尬,以为是自己打错字了才导致这个问题,羞愧地赶紧关闭了工单并给了好评。)

    nslookup {unique-id}.gz.apigw.tencentcs.com 查询到的 IP 列表和 Chrome 开发者工具找到的 Remote Address 能对上,感觉这里有自己完全不明白的知识,请不吝赐教。

    3 条回复    2022-04-30 13:01:42 +08:00
    timpaik
        1
    timpaik  
       2022-04-30 12:34:13 +08:00 via Android   ❤️ 1
    dns 缓存?或者是 ttl 比较高?
    whileFalse
        2
    whileFalse  
       2022-04-30 12:46:15 +08:00   ❤️ 1
    你是指每次部署之后域名解析的 IP 就变了?那清理 DNS 缓存并重启浏览器就好了。
    markgor
        3
    markgor  
       2022-04-30 13:01:42 +08:00   ❤️ 1
    猜测,Chromium 走的是 DnsTask ,而不是系统的 getaddrinfo 。
    而 curl ,postman 和火狐走的是 getaddrinfo 。
    我记得 Chromium 为了防止 getaddrinfo 导致堵塞,所以自己实现了 asyncDNS 。

    实际情况,你可以尝试清空系统的 DNS 缓存,然后再用 curl 尝试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3242 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 10:40 · PVG 18:40 · LAX 02:40 · JFK 05:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.