您好!我们有一个 Discourse 实例运行在 Ubuntu 22.04.4 LTS 服务器上。已完全更新。可以通过 https://forum.igfae.usc.es/ 访问。由于基础设施的一些变动,我们需要更改服务器的 IP 地址。在此更改之前,电子邮件发送工作正常:我们使用 SMTP 服务器作为中继,授权 Discourse 服务器的 IP。但在更改之后,SMTP 服务器记录的发送尝试 IP 为 10.x.y.z(为避免任何潜在的安全泄露,已省略实际地址)。
10.x.y.z 可以 ping 通。我猜它是一些通信基础设施。另外,请注意 IP 地址的更改意味着 C 类网络的更改。
在同一台服务器上,我们还有其他非容器化应用程序成功地通过同一个 SMTP 服务器进行中继。这就是为什么我得出结论,该行为可能与 Discourse、Docker 或两者之间的任何交互有关。
容器的 NetworkSettings 显示如下:
"NetworkSettings": {
"Bridge": "",
"SandboxID": "f80dc06362bb6982d93de5aa0301624b3932744dd4d23a8dea140c33064dec23",
"SandboxKey": "/var/run/docker/netns/f80dc06362bb",
"Ports": {
"443/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "443"
},
{
"HostIp": "::",
"HostPort": "443"
}
],
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "80"
},
{
"HostIp": "::",
"HostPort": "80"
}
]
},
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "5d6105ab3bb9d331667c9c1be73eeea8be64a5b85daffa99cb0c711df9cc0dc9",
"Gateway": "172.17.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"MacAddress": "02:21:a3:2c:a4:cf",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"MacAddress": "02:21:a3:2c:a4:cf",
"DriverOpts": null,
"NetworkID": "bbfd3d524dc976e2534f3f6a9df98f49f1ee4e018d9e32a144f05b037d6df1fc",
"EndpointID": "5d6105ab3bb9d331667c9c1be73eeea8be64a5b85daffa99cb0c711df9cc0dc9",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"DNSNames": null
}
}
}
您觉得这有道理吗?您知道为什么 IP 地址更改会导致这种行为吗?请问如何解决?
非常感谢!