2016-12-08 22 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/) –