ฉันใช้ Tomcat 6.0.24 บน Ubuntu (JDK 1.6) กับแอพที่ใช้การร้องขอ Comet-style บนตัวเชื่อมต่อ HTTPS (เชื่อมต่อโดยตรงกับ Tomcat ไม่ใช่การใช้ APR)
ฉันต้องการตั้งค่า keep-alive ถึง 5 นาทีดังนั้นฉันไม่จำเป็นต้องรีเฟรชการเชื่อมต่อการสำรวจระยะยาวของฉัน นี่คือการกำหนดค่าของฉัน:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="1000" keepAliveTimeout="330000"
scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
น่าเสียดายที่เซิร์ฟเวอร์ปิดการเชื่อมต่อหลังจาก 65 วินาที pcap จากเซสชันตัวอย่างมีลักษณะดังนี้:
T=0 Client sends SYN to server, handshake etc.
T=65 Server sends FIN to client
T=307 Client sends FIN to server
(ฉันคาดเดาว่าการหมดเวลา 5 นาทีของไคลเอนต์นั้นเกิดจาก HTTP lib ไม่ตรวจจับซ็อกเก็ตใกล้กับเซิร์ฟเวอร์ แต่ในกรณีใด ๆ - เซิร์ฟเวอร์ไม่ควรปิดการเชื่อมต่อก่อนหน้านี้)
(แก้ไข: ใช้งานได้ตามที่คาดไว้เมื่อใช้ตัวเชื่อมต่อ HTTP มาตรฐาน)