域名解析问题影响主题嵌入

可能存在影响主题嵌入的域名解析问题。

  1. 主题嵌入系统依赖 FinalDestination 来解析主题嵌入 URL(参见此处)。

  2. FinalDestination 通过 SSRFDetector 解析 URL 的主机名到 IP(参见此处

  3. FinalDestination 然后将 URI 发送给 Excon 以执行实际请求(参见此处)。

这意味着某些主题嵌入 URL,例如

"https://opensource.org/blog/osi-response-to-ntia"

最终会被发送给 Excon 执行 GET 请求,如下所示:

"https://[2604:a880:800:a1::2f0:a001]/blog/osi-response-to-ntia"

此请求将超时。而对原始 URL 执行 Excon.get 则不会。

在 Meta 上看起来还可以:

根据您的描述,我猜测您的服务器在进行 DNS 查询时解析了 ipv6 记录(我们使用 getaddrinfo 来实现此功能)。但随后在尝试连接它们时,却失败了。

这可能是因为它尝试使用 ip6 地址,失败了,然后回退到 ip4 地址。我们目前在 FinalDestination#resolve 中没有这种回退逻辑:

2 个赞