Nginx
EC2 Linux、Nginx 和 Chrome 的 HTTP Keep-Alive 謎題
請幫助解決 HTTP keep-alive 問題。基本上,我在執行 nginx(v1.2.6)的 EC2 上有 amazon-ami linux(v2012.09 )。
Chrome ( v25.0.1364.99 ) 正常訪問 HTTP 頁面,然後在大約 30 秒後連接斷開(原因不明),由
netstat
. 之後,如果 chrome 從伺服器請求某些東西,它就無法接收任何東西並且超時大約一分鐘,等待明顯斷開連接的東西。超時後後續請求工作正常。Nginx 配置有
keepalive_timeout 70s 60s;
cat /proc/sys/net/ipv4/tcp_keepalive_time
節目7200
這可能很容易,但Google搜尋發現了很多類似的問題,但不完全是。(https://code.google.com/p/chromium/issues/detail?id=27400在這裡閱讀http://blog.fastmail.fm/2011/06/28/http-keep-alive-connection-timeouts /)。
哪些答案會有所幫助:
- 如何更改伺服器配置以避免過度等待 Chrome 斷開連接
- 哪些產品可能存在錯誤或可用的解決方法
Disable keep alive for chrome 是一種不得已的解決方案:因為它違背了我想要減少響應延遲並具有較長的 HTTP 連接保持活動時間(至少一分鐘)的目的。謝謝
在這樣的環境下,HTTPS 連接不會在 30 秒後被偷偷關閉,所以當我將一個站點完全置於 HTTPS 下(實際上是計劃好的)時,Chrome Keep=Alive 問題不再通過 Keep-Alive 表現出來,這是可以接受的。
不幸的是,我沒有資源投資於 TCP 調試。因此,難題本身並沒有完全解決。
非常感謝您的建議!