azure - 阻止 Azure 网站设置 WAWebSiteID 和 ARRAffinity cookie

标签 azure azure-web-app-service arr

我有一个处于共享模式的 Windows Azure 网站。

现在,Azure 显然向我的网站添加了两个 cookie:WAWebSiteIDARRAffinity。 我了解到这些 cookie 是为了启用与 Azure 负载均衡器后面的应用程序和请求路由功能 (ARR) 的粘性 session 。

尽管如此,我的网站不需要粘性 session ,而且我不想有这些 cookie。

首先,我从来没有想到过粘性 session ,因此我编写了应用程序,以便在所有前端上均匀分布请求的情况下能够很好地扩展。粘性 session 实际上改变了分布,因为有些客户端发出大量请求,而有些客户端几乎不执行任何请求。当只有第一个请求得到分发并且来自同一客户端的后续请求粘到同一服务器时,这会对我的应用程序的整体性能产生严重影响。

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

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

最佳答案

更新

您现在可以在门户的 Web 应用程序设置中将其关闭。您还可以使用资源浏览器,如本博客文章中所述:https://blogs.msdn.microsoft.com/appserviceteam/2016/05/16/disable-session-affinity-cookie-arr-cookie-for-azure-web-apps/

原创

我知道这是一个老问题,但 Azure IIS ARR 似乎已更新到版本 3,除其他新功能外,它还具有“ session 关联选择退出”功能。

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 添加到响应 header ,粘性 session 将被禁用。

最简单的方法是在 web.config 文件的 customHeaders 节点中添加 header ,如下所示:

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Arr-Disable-Session-Affinity" value="True" />
      </customHeaders>
    </httpProtocol>
</system.webServer>

关于azure - 阻止 Azure 网站设置 WAWebSiteID 和 ARRAffinity cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16792427/

相关文章:

javascript - 单个 React 应用程序可以在多个不同的 URL 上提供服务吗

Azure 应用程序注册通过 powershell Azure CLI 添加授权的客户端应用程序

azure - 使用 powershell 对 AppService Web 应用程序中的所有插槽设置 IP 限制

azure - Azure Application Insights 与 Google 搜索之间的 IP 地址不匹配

azure - 应用服务: Not able to read connection string setting from App settings

javascript - 在 jquery 中通过 $.post 发送对象键和值的列表

asp.net - IIS ARR - 反向代理的 URL 重写 - 如何发送 HTTP_HOST

java - Azure Java SDK - 在新门户上从何处获取 serviceName 和 deploymentName 的值

iis - 将自定义错误页面与ARR/应用程序请求路由一起使用

azure - 使用核心工具 2 的 azure 函数 c# 中的绑定(bind)类型 'serviceBusTrigger' 未注册错误