Linux Azure VM 断开连接

Linux Azure VM 断开连接

我在 Azure 上创建了一个 Linux VM,上面有一个 Postgres 服务。VM 运行良好,但我遇到了断开连接的情况。

VM 断开 SSH 会话 - 它们只是被破坏了 - 就像与 Postgres 的连接一样。

Postgres DB 是一个小型开发数据库,​​大约有 20 个表,每个表有 20-30 条记录。VM 与之无关。

我以前没有遇到过这种情况。我多次从头开始重新创建此虚拟机,尝试了下一个区域 - 阿姆斯特丹(位于德国)以及都柏林 - 这两个区域的情况都一样。

这可能是什么问题?

答案1

编辑服务器端配置文件 /etc/sshd_config,如果要防止所有客户端断开连接,请添加以下两个选项:

客户端存活间隔 120

ClientAliveCountMax 720

第一个配置是服务器每 120 秒向客户端发送空数据包,第二个配置是服务器在客户端处于非活动状态时关闭连接720 个间隔,即 720*120 = 86400 秒 = 24 小时

在客户端,您还可以包括

主持人 *

客户端存活间隔 ...

客户端存活计数最大值 ...

服务器存活间隔 ...

你可以看看https://unix.stackexchange.com/a/3027以获得更详细的解释。

另一种情况可能是您需要在 Azure 负载均衡器上配置空闲超时;您可以在以下位置阅读更多信息:https://azure.microsoft.com/en-us/blog/new-configurable-idle-timeout-for-azure-load-balancer/

PowerShell 示例

将实例级公共 IP 的 TCP 超时配置为 15 分钟。

设置 AzurePublicIP –PublicIPName webip –VM MyVM ldleTimeoutInMinutes 15

IdleTimeoutInMinutes 是可选的。如果未设置,默认超时时间为 4 分钟。现在可以将其值设置为 4 到 30 分钟之间。

在虚拟机上创建 Azure 终结点时设置空闲超时

获取 AzureVM -服务名称“mySvc”-名称“MyVM1”| 添加->AzureEndpoint -名称“HttpIn”-协议“tcp”-公共端口 80 -本地端口 8080 -IdleTimeoutInMinutes 15| 更新 AzureVM

相关内容