azure azure-web-sites arr

Impedir que el sitio web de Azure configure las cookies de WAWebSiteID y ARRAffinity



azure-web-sites (2)

No puede deshabilitar las sesiones adhesivas para los sitios web de Azure. Las ARR y las sesiones no son para ti o tu aplicación. Estos son los pilares fundamentales de cómo funcionan los sitios web de Azure. La adherencia es dirigir las solicitudes a su farm (si tiene más de una instancia).

Mire este video para comprender mejor los sitios web de Azure.

ACTUALIZAR

Desde que esta respuesta se publicó por primera vez, hubo muchas actualizaciones para las aplicaciones de sitios web de Azure. Uno de ellos es la posibilidad de optar por la cookie de afinidad.

¡Compruebe la respuesta de Geoff para detalles!

Tengo un sitio web de Windows Azure en modo compartido.

Ahora, Azure obviamente agrega dos cookies a mi sitio web: WAWebSiteID y ARRAffinity . Aprendí que esas cookies están ahí para habilitar sesiones rápidas con la aplicación y la función de enrutamiento de solicitud (ARR) detrás de los equilibradores de carga de Azure.

Sin embargo, mi sitio web no requiere sesiones pegajosas, y no quiero tener esas cookies alrededor.

En primer lugar, nunca tuve la más mínima idea de que las sesiones rápidas cruzaran mi mente, así que escribí la aplicación para escalar bien con solicitudes distribuidas uniformemente en todas las interfaces. Las sesiones pegajosas de hecho cambian la distribución ya que hay clientes que hacen muchas solicitudes y clientes que no hacen casi ninguna. Cuando solo la primera solicitud se distribuye y las solicitudes subsiguientes del mismo cliente permanecen en el mismo servidor, esto tiene graves implicaciones en el rendimiento general de mi aplicación.

En segundo lugar, por razones de privacidad de los datos, ejecuto una aplicación sin cookies, y cualquier cookie se considera "mala". Sé que podría eliminarlos con un poco de javascript, pero ni siquiera quiero que se transmitan al cliente.

La pregunta es: ¿Cómo puedo deshabilitar las sesiones adhesivas y esas dos cookies en mi sitio web de Azure en el lado del servidor?


Actualizar

Ahora puede desactivarlo en el portal en la configuración de la aplicación web. También puede usar el explorador de recursos como se describe en esta publicación del blog: https://blogs.msdn.microsoft.com/appserviceteam/2016/05/16/disable-session-affinity-cookie-arr-cookie-for-azure-web-apps/

Original

Sé que esta es una pregunta antigua, pero parece que el ARR de IIS de Azure se ha actualizado a la versión 3 y, entre otras características nuevas, tiene la opción de "exclusión de afinidad de sesión".

Ben Ari tiene una publicación al respecto aquí: http://blogs.technet.com/b/erezs_iis_blog/archive/2013/09/16/new-features-in-arr-application-request-routing-3-0.aspx

La versión corta es que puede agregar Arr-Disable-Session-Affinity: True a sus encabezados de respuesta y las sesiones adhesivas estarán deshabilitadas.

La forma más sencilla es agregar el encabezado en el nodo customHeaders del archivo web.config la siguiente manera:

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