2012-11-27 23 views
0

我有兩臺服務器,具有相同的最小配置(據我所知!)。爲什麼nginx會返回某個查詢字符串的錯誤324?

在服務器A上,對 http://xxx.yyy.zzz.A/ 查詢返回的默認nginx的index.html頁面

服務器B上,爲 http://xxx.yyy.zzz.B/ 返回默認nginx的index.html頁面

在服務器查詢A,查詢 http://xxx.yyy.zzz.A/?%2F 返回默認nginx index.html頁面

在服務器B上,查詢 http://xxx.yyy.zzz.B/?%2F 返回錯誤324(淨值:: ERR_EMPTY_RESPONSE)

%2F是編碼正斜槓一個CGI,這是我發現了這個問題。它也似乎發生在%2G,%2H和%2I上。我在這裏停止測試。

324請求不會顯示在訪問或錯誤日誌中。

相關nginx.conf是

server { 
    listen  80 default_server; 
    server_name ""; 
    location/{ 
    root html; 
    index index.html index.htm; 
    } 
} 

怎麼可能是問題,或者我如何能夠進一步追查?

+1

您是否使用loadbalancer/proxy? – RickyA

+0

的確,服務器A位於負載平衡器後面。繞過負載均衡器直接運行,並且工作正常。奧卡姆的剃刀 - 如果Nginx沒有看到它的要求,它沒有得到它。問題在於上游:請回答而不是評論,以便我可以接受。 – s01ipsist

回答

0

像「嘿這工作一半時間」或「這在服務器A上工作,但不在服務器B上」的問題常常是負載平衡/代理問題。

您是否檢查了負載均衡器的配置?大機會有錯,那裏的錯誤記錄。

+0

Kemp Technologies的Loadmaster 2000負載平衡器中的「檢測惡意請求」選項處於活動狀態並阻止了這些請求,顯然是由於匹配的SNORT規則。 – s01ipsist

相關問題