Am configurat cu succes un tunel între două servere, astfel încât conexiunile de intrare pe portul 80/443 să fie redirecționate către un alt server care rulează de fapt serverul web. În plus, am folosit autossh pentru a menține conexiunea.
Acest lucru funcționează excelent, cu excepția faptului că, în loc să se închidă complet, multe dintre conexiunile de intrare ajung în starea FIN_WAIT2:
eșantion de ieșire netstat
..și, deoarece sunt asociate cu un proces care rulează, nu sunt niciodată curățate de sistem. În cele din urmă, am atins limita de fișiere deschise, rezultând că clientul SSH nu acceptă conexiuni noi. Problema este că nu îmi pot da seama de ce se întâmplă asta. Multe dintre conexiunile primite se închid curat, dar altele persistă la infinit.
Lucruri pe care le-am incercat:
Dezactivarea ServerAliveInterval/CountMax, ClientAliveInterval/CountMax și TCPkeepAlive
Repornirea serviciului (funcționează, dar nu este cu adevărat o soluție)
Cercetările pe care le-am făcut în acest sens mă conduc la foarte puține surse de informații, cum ar fi
această întrebare pe serverfault, care nu au oferit nicio soluție.
Nu înțeleg cum rămân active conexiunile care nu sunt ținute în viață și de la care clientul s-a deconectat. Poate cineva să arunce ceva lumină?