阻止Azure网站设置WAWebSiteID和ARRAffinity cookie

Seb*_*ter 16 azure azure-web-sites arr

我有一个共享模式的Windows Azure网站.

现在Azure显然在我的网站上添加了两个cookie:WAWebSiteIDARRAffinity.我了解到那些cookie可用于启用Azure负载均衡器后面的应用程序和请求路由功能(ARR)的粘性会话.

尽管如此,我的网站不需要粘性会话,我也不希望有这些cookie.

首先,我从来没有想到粘性会话在我脑海中浮现,所以我编写了应用程序,以便在所有前端均匀分布的请求中很好地扩展.实际上,粘性会话会改变分发,因为有很多客户做了很多请求而客户几乎没有.当只有第一个请求被分发并且来自同一客户端的后续请求粘贴到同一服务器时,这会严重影响我的应用程序的整体性能.

其次,出于数据隐私原因,我运行了一个无cookie应用程序,任何cookie都被认为是"邪恶的".我知道我可以用一点点javascript删除它们,但我甚至不希望它们被传输到客户端.

问题是:如何在服务器端的Azure网站上禁用粘性会话和这两个cookie?

Geo*_*off 16

更新

您现在可以在Web App设置中的门户中将其关闭.您还可以使用此博客文章中描述的资源浏览器:https://blogs.msdn.microsoft.com/appserviceteam/2016/05/16/disable-session-affinity-cookie-arr-cookie-for-azure-网络应用/

原版的

我知道这是一个老问题,但似乎Azure IIS ARR已更新到版本3以及其他新功能,它具有"会话关联选择退出".

Ben Ari在此发表了一篇文章:http: //blogs.technet.com/b/erezs_iis_blog/archive/2013/09/16/new-features-in-arr-application-request-routing-3-0.aspx

简短版本是您可以添加Arr-Disable-Session-Affinity: True到响应标头,并且将禁用粘性会话.

最简单的方法是customHeadersweb.config文件的节点中添加标头,如下所示:

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Arr-Disable-Session-Affinity" value="True" />
      </customHeaders>
    </httpProtocol>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)