2016-12-08 49 views
1

我們遇到SSL握手問題需要太多流量,而且由於我們使用我們的站點的客戶端相同,因此我們正在尋找一種方法來存儲請求之間的握手。我們正在使用Azure webapps,這是一個作爲webapp託管在Azure上的.NET應用程序。在Azure Web應用程序中重複使用SSL握手

已經查看了兩種解決方案: 1.使用http保持活動標頭增加TCP會話的長度。 2.使用SSL會話兌換/重用。

對於1: 此處最大連接數可能是個問題。流量管理器應該支持500k連接 https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits#traffic-manager-limits

但是我不確定Azure webapps是否使用流量管理器?

我確實發現是對湛藍的webapps限制的列表: https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox

如果我讀的是正確的,最高是有點高於每節點8000個連接和節點的最大數量爲10個。因此,這會給我們80 000個連接,但也包括出站連接,例如tableStorage和blobStorage

對於2: 我們可以發現,這在windows 2012服務器以及apache和nginx中都受支持。但是,Azure web應用程序和Azure中找不到的負載均衡器似乎都支持這一點(正確?)。實現這一目標的唯一方法是設置一個虛擬機,並在其上支持我們自己的負載均衡器(例如nginx)?

我們的問題是: 1.什麼是建議的方式來防止在與azure webapps的每個連接上進行SSL握手? 2.上面的推理有任何錯誤或意見嗎?

回答

0

但是,我不確定Azure webapps是否使用流量管理器?

Azure還可以使用流量管理器來負載平衡,它在DNS級別工作,但它不是WebApp的默認負載平衡器。

但是,Azure web應用程序和Azure中找不到的負載均衡器似乎都支持這一點(正確?)。

據Azure的Web應用程序體系結構,它使用Azure的負載均衡和應用網關的負載平衡。有關Azure負載平衡器和應用程序網關的更多信息,請參閱document。所以,我們不需要使用負載均衡器來設置虛擬機。

enter image description here

什麼是與蔚藍的webapps每個連接上進行預防SSL握手的推薦的方法?

每月的第一個連接都需要完整的握手,但隨後可以重複使用會話票據(ID),我們可以在Azure的門戶網站上設置ARR親和力,那麼客戶機建立與實例的會話,它會繼續與同一個實例交談,直到他的會話過期。

enter image description here

+0

由於SSL會話在應用程序網關停止,APR將如何影響此? – iveqy

+0

在Azure Web應用程序體系結構中,ARR代表**應用程序請求路由** IIS擴展,用於在活動實例之間分發連接用戶。 ARR將請求轉發給選定的Web實例。有關ARR的更多信息,請參閱[文檔](https://azure.microsoft.com/en-us/blog/disabling-arrs-instance-affinity-in-windows-azure-web-sites/) –