Una característica que fue muy demandada a la plataforma de Microsoft Azure fue la posibilidad de tener afinidad con los frontales web, debido a la gran cantidad de aplicaciones legacy que se habían desarrollado de esta manera. Para los que no conozcáis este proceso, basicamente lo que permite es que un usuario mantenga todas las peticiones con el mismo frontal durante toda la sesión, lo cual rompe por completo el concepto de escalabilidad en cloud. No obstante, Microsoft Azure Websites hace uso de Application Request Routing, módulo de IIS que adjunta una cookie (ARRAffinity) al navegador del usuario, la cual hará posible la afinidad con el servidor que está incluido en la misma de forma cifrada:
Sin embargo, hay situaciones en las que no queremos que este comportamiento sea el establecido para nuestro sitio web. Para poder deshabilitarlo, la manera más sencilla es modificar el archivo web.config de la aplicación y añadir la siguiente cabecera:
<system.webServer> <httpProtocol> <customHeaders> <add name="Arr-Disable-Session-Affinity" value="true"/> </customHeaders> </httpProtocol> </system.webServer>
Para comprobar que la configuración ha funcionado correctamente, basta con cerrar el navegador y volver a entrar de nuevo al sitio. La cookie ARRAffinity y la cabecera Arr-Disable-Session-Affinity desaparecerán de las peticiones, haciendo uso del balanceo de carga a partir de ahora.
Espero que sea de utilidad.
¡Buen finde!