2015-05-22 11 views
7

Seguendo la procedura in this article ho disabilitato il cookie ARR Affinity sul mio Azure Web App con questa intestazione nelle mie risposte:Perché l'intestazione `Arr-Disable-Session-Affinity` viene visualizzata nell'app Web di Azure (WebSite)?

Arr-Disable-Session-Affinity: True 

E fa rimuovere il cookie, che è molto una buona cosa. Ma l'intestazione stessa sta ancora arrivando. Questa intestazione in realtà non fa male niente, ma secondo lo stesso documento non dovrebbe essere lì:

Se si aggiunge l'intestazione Arr-Disable-Session-affinità per disabilitare il cookie affinità, ARR non imposterà il cookie, ma rimuoverà anche l'intestazione Arr-Disable-Session-Affinity stessa, quindi se il tuo processo funziona correttamente, non vedrai nessuno dei due.

Quindi ... come faccio a rimuovere anche l'intestazione?

+0

mi accingo a fare la stessa domanda e ha trovato la vostra. – Amry

+0

Suppongo che le cose diventeranno instabili senza questo valore di intestazione se l'app utilizza lo stato e il ridimensionamento in-process? –

+0

@TimothyLeeRussell se si utilizza lo stato in-proc quindi _just do not do anything_. Il comportamento _default_ ha affinità di sessione/server quindi dovresti stare bene. Nel mio caso non desidero l'affinità, quindi devo aggiungere questa intestazione per rimuoverla. –

risposta

1

se si è aggiunto l'Arr-Disable-Session-Affinity intestazione personalizzato come di seguito nel web.config Azure Web App, quindi si tratta di un comportamento corretto si vede ancora la Arr-Disable-Session-Affinity intestazione con valore impostato su true e il cookie ARR rimosso nella risposta HTTP. Penso che sia una dichiarazione errata nel blog di riferimento che hai fornito che ha dichiarato che l'intestazione Arr-Disable-Session-Affinity verrà rimossa.

Se si desidera rimuovere quell'intestazione, il cookie verrà presentato, si escluderà a vicenda.

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

enter image description here

0

L'articolo si fa riferimento a non dice specificamente come aggiungere l'intestazione quindi non posso dire se l'avete fatto correttamente. Non ho ancora testato, ma secondo this article si dovrebbe impostare nelle Application_PreSendRequestHeaders:

protected void Application_PreSendRequestHeaders() 
{ 
    Response.Headers.Remove("Server"); 
    Response.Headers.Remove("X-AspNet-Version"); 
    Response.Headers.Remove("X-AspNetMvc-Version"); 
    Response.Headers.Add("Arr-Disable-Session-Affinity", "True"); 
} 
Problemi correlati