gpt4 book ai didi

ruby-on-rails - SocketError(无法打开到 XXX.com 的 TCP 连接 :443 (getaddrinfo: Temporary failure in name resolution))

转载 作者:行者123 更新时间:2023-12-04 17:35:22 25 4
gpt4 key购买 nike

我最近集成了腾讯的翻译API。在我的开发机器上一切正常,但我无法从 Heroku 服务器发出 POST 请求。

SocketError (Failed to open TCP connection to tmt.tencentcloudapi.com:443 (getaddrinfo: Temporary failure in name resolution))

我的问题是谁的问题导致了这个问题? Heroku还是腾讯?

使用代码更新帖子:
  host = "tmt.tencentcloudapi.com"
endpoint = "https://" + host
uri = URI.parse(endpoint)

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
req = Net::HTTP::Post.new(endpoint, {'Content-Type' => 'application/json; charset=utf-8', 'Authorization' => authorization, 'Host' => host, 'X-TC-Action' => action, 'X-TC-Version' => version, 'X-TC-Timestamp' => timestamp.to_s, 'X-TC-Region' => region })

req.body = params
res = http.request(req)

最佳答案

您的问题是“谁的问题导致了这个问题?”并提出两个罪魁祸首——让我提出第三个(可能也是)罪魁祸首:中国的防火墙。

Heroku 在 AWS 上运行,有时由中国政府负责。 Heroku 本身也可能受到中国政府的封锁,这取决于一天、一个月、一年的时间,以及是否正在发生任何敏感的内部政治事件。这一切都很难预测。

我确实看到了这篇博文,其中声称 Heroku 在中国被屏蔽:
https://alexbosworth.net/post/13244162414/should-i-use-heroku

Heroku Apps are blocked in China - I live in China, I want a service that isn’t blocked here. China is projected to become the biggest economy in the world within 5 years, it’s an important market.



考虑到 DNS 解析的工作方式(默认情况下,未加密),长城防火墙对任何传入和传出的数据包执行 DPI(深度数据包检查)。当它看到在阻止范围内的返回 IP 地址(例如 Heroku 的 IP 块)时,防火墙将阻止任何数据包离开中国并到达您位于美国的 Heroku 实例。

这就解释了为什么如果腾讯的所有权威服务器都在中国,并且 Heroku 被阻止,那么您的 DNS 解析可能会失败。

关于ruby-on-rails - SocketError(无法打开到 XXX.com 的 TCP 连接 :443 (getaddrinfo: Temporary failure in name resolution)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56889753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com