2012-11-08 78 views
0

我們收到關於nginx的大量請求,其中一些人的werent達到Tomcat的我們剛剛得到錯誤504超時的Nginx的,但沒有在Tomcat的Nginx + Tomcat的 - 504超時

我們的配置 Nginx的流量路由到虛擬服務器(Windows Server )在安裝Tomcat的7

我們不能找出其中的問題 我想如果這是tomcat的問題,我們應該看到nginx的至少要求在Tomcat日誌

回答

1

504 Gateway Timeout錯誤可能的結果網絡問題,那就是 - 連接做根本不會到達Tomcat服務器,例如出於某種原因由您的防火牆丟棄。在這種情況下,即使假設它正確地記錄了可以記錄的所有內容,Tomcat日誌中也不會有任何內容。

此外,在某些系統上可能無法獲取有關客戶端在監聽隊列中關閉的連接的信息,但對Windows無法確定。無論如何,我不希望Tomcat默認記錄這樣的連接。

在它的錯誤日誌中,nginx會嘗試提供有關發生超時的點的更多信息。沒有任何東西在Tomcat日誌中,我會期望類似... while connecting to upstream ...,這通常表示網絡問題或偵聽隊列溢出如上所述。

+0

實際上它不應該是網絡問題,我們使用Nginx和tomcat之間的局域網連接。 – Diyko

+1

「不應該」和「不是」在實踐中經常碰到。特別是,由於nginx和後端之間的狀態防火牆,我曾多次看到過類似的問題 - 無論是狀態耗盡還是開始丟棄新的連接,或者它的狀態都是已經關閉的連接,並且一旦主機嘗試重新使用時就會丟棄數據包相同的地址元組。不要猜測,查看日誌並使用tcpdump/wireshark查看線路上發生了什麼。 –

+0

你是對的,我們的防火牆每個主機只允許有100個連接。謝謝 – Diyko