Tcp

對等方每 2 小時重置一次套接字

  • July 8, 2017

客戶端使用 ssl (openssl) 通過 tcp 套接字連接到伺服器。

如果沒有正在進行的通信,2 小時後(加上幾分鐘),客戶端會抱怨“套接字錯誤。對等方重置連接”。

我已經測試了幾天,讓客戶端在​​收到此警告後打開一個新連接,並且該模式每兩個小時重複一次。我已經查看了客戶端和伺服器上的 cron 作業,但看不到任何可能正在執行此操作的作業。

請注意,套接字伺服器(reactphp)不知道套接字已經關閉。

什麼可能導致連接每兩小時重置一次?是否有可能這樣做的核心配置設置?

TCP 保活。如果連接未使用,則在 2 小時後斷開連接。可以很容易地改變。見http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/usingkeepalive.html

簡而言之,/proc/sys/net/ipv4/tcp_keepalive_time可以根據需要從預設的 7200 更改通過暴露的核心可調參數“tcp_keepalive_time”。

引用自:https://unix.stackexchange.com/questions/377231