我们遇到SSL握手问题需要太多流量,而且由于我们使用我们的网站有相同的客户端,我们正在寻找一种方法来存储请求之间的握手。我们正在使用Azure网络应用程序,即Azure上托管的.NET应用程序作为Web应用程序。
已经研究了两种解决方案: 1.使用http keep alive标头增加TCP会话的长度。 2.使用SSL会话兑换/重用。
1: 最大连接数可能是一个问题。流量管理器应支持500k连接 https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits#traffic-manager-limits
但是,我不确定Azure网络应用程序是否正在使用流量管理器?
我找到的是azure webapps的限制列表: https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox
如果我读得正确,最大值是每个节点8000个连接点以上,最大节点数是10.这样就可以给我们80 000个连接但是还包括对象的出站连接,例如tableStorage和blobStorage < / p>
2: 我们可以找到,这在Windows 2012服务器以及apache和nginx中都受支持。但Azure Azure webapps和Azure中的任何负载均衡器似乎都不支持这个(正确吗?)。实现这一目标的唯一方法是设置一个带有负载均衡器的虚拟机(例如nginx),我们将支持自己的吗?
我们的问题是: 1.使用azure webapps在每个连接上阻止SSL握手的推荐方法是什么? 2.上述推理是否有任何错误或评论?
答案 0 :(得分:0)
但是,我不确定Azure网络应用程序是否正在使用流量管理器?
Azure也可以使用流量管理器进行负载均衡,它可以在DNS级别运行,但它不是WebApp的默认负载均衡器。
然而,在Azure中找到的Azure webapps和两个负载均衡器似乎都不支持这个(正确吗?)。
根据Azure WebApp Architecture,它使用Azure负载均衡器和Application Gateway来进行负载均衡。有关Azure负载均衡器和Application Gateway的更多信息,请参阅document。因此,我们无需使用负载均衡器设置虚拟机。
使用azure webapps在每个连接上阻止SSL握手的建议方法是什么?
每个第一个连接都需要完全握手,但后续可以重复使用会话票证(ID),我们可以在Azure门户中设置 ARR Affinity ,然后客户端建立会话有一个实例,它将继续与同一个实例交谈,直到他的会话到期为止。