Ip-Blocking

數百個與伺服器的連接,僅在 IE8 中打開 10 多個選項卡?

  • July 14, 2010

我們有執行 vBulletin 的私人論壇,並且我們收到了一位客戶的投訴,他們在打開大量標籤時無法訪問這些論壇。上次他打電話,確定是我們的主機自動屏蔽了他的ip地址。在與主機打開支持票後,他們取消阻止它,他們說它已被自動阻止太多連接(我假設並發連接)。他們說有546個連接。

客戶正在執行 IE8,並聲稱在大約 8-12 個選項卡之後,其餘的“超時” - 每次。而且,當然,沒有其他網站有這個問題。

更新:事實證明 Chrome(或 Firefox,但我認為是 Chrome)也有同樣的問題。但是 Opera 似乎還不錯(我想是因為它的激進記憶體)。

由於無法直接訪問兩端的電腦,我希望如何解決這個問題?

gbroiles 已經有了一個很好的答案;我正在添加一個答案,因為這太長了,無法放入評論中。

所有瀏覽器都會打開多個連接,以便更快地下載站點。必須下載連結到 HTML 中的每個圖像、CSS 文件、Javascript 文件等,這是並行完成的以加快速度。您可以在 Browserscope.org 的“網路”選項卡上查看每個瀏覽器打開了多少連接

還有 2 點需要注意:

  • 趨勢是瀏覽器從不為每個主機打開更多連接。
  • 如果連接降級到 HTTP 1.0(通過中間代理進行處理),那麼大多數瀏覽器將打開額外的連接。(我能很快找到的最佳連結在這裡;Steve Souders 在他的一本書中寫了更多關於此的內容。)

實際上,如果這個使用者打開 10+ 個標籤到一個小型 VPS 伺服器,那麼他就是在囤積資源。我認為不允許這樣做是完全明智的。使用者可能會脾氣暴躁,但他只有一對眼睛,所以他真的不能聲稱同時與所有 10+ 個頁面進行互動。如果伺服器是一個大而強大的低負載機器,那當然是另一回事了。

您可以做的一些事情是:

  • 查看您的HTTP Keepalive 設置,然後將其關閉,或者將其設置為低超時值(fx 5 秒)。這可能還不夠,但至少你不會有很多揮之不去的開放連接。
  • 在內容傳遞網路 (CDN)上託管靜態內容(徽標、CSS、JS、用於佈局的圖像) 。小型 CDN 帳戶現在很便宜,您可以將所有靜態內容的 HTTP 請求從您自己的伺服器轉移出去。
  • 驗證您的伺服器是否正在為靜態內容髮送正確的記憶體標頭。至少,您不希望使用者一遍又一遍地下載相同的徽標、CSS 等。請參閱此出色的記憶體教程,並在 pagestest.orgREDbot上測試您的標頭。
  • 找出究竟是哪個系統將您的客戶列入黑名單。如果它是來自您的 ISP 的反 DDoS 服務,那麼也許您可以要求將其排除在反 DDoS 保護之外(但當然要先考慮這一點)。如果它是主機上的軟體防火牆,那麼您可以要求提高限制。

簡而言之,您應該能夠與您的託管合作夥伴一起解決這個問題——但首先要考慮潛在的後果。

引用自:https://serverfault.com/questions/159702