在我的 VPS(带有 Ubuntu 12.04 LTS的tophost.it “TopServer”)上,几天前我所有的应用程序都无法发送电子邮件。我可以从日志中了解到每个请求都会超时。
然后我尝试从终端简单地调用telnet smtp.gmail.com 587,我注意到以下异常:而在其他所有运行良好的服务器上,答案只需要几毫秒来处理,并且很简单
Trying 173.194.65.109...
Connected to gmail-smtp-msa.l.google.com.
Run Code Online (Sandbox Code Playgroud)
在有问题的 VPS 上,答案是
Trying 2a00:1450:4013:c01::6c...
Run Code Online (Sandbox Code Playgroud)
..并且仅在大约一分钟后(我猜在此期间应用程序将超时)......它最终说:
Trying 74.125.136.108...
Connected to smtp.gmail.com.
Run Code Online (Sandbox Code Playgroud)
那么这里发生了什么?为什么它之前尝试使用 IPv6,并且仅在几秒钟之后尝试使用正确的 IPv4?如何修复此行为以避免超时错误?