Instradare il traffico in App Service
Per impostazione predefinita, tutte le richieste dei client verso l'URL di produzione dell'applicazione (http://<app_name>.azurewebsites.net
) vengono instradate allo slot di produzione. È possibile instradare una parte del traffico a un altro slot. Questa funzionalità è utile se sono necessari commenti e suggerimenti degli utenti per un nuovo aggiornamento, ma non si è pronti per rilasciarlo nell'ambiente di produzione.
Instradare automaticamente il traffico di produzione
Per instradare automaticamente il traffico di produzione:
Passare alla pagina delle risorse dell'app e selezionare slot di distribuzione .
Nella colonna Traffico % dello slot a cui si vuole instradare specificare una percentuale (compresa tra 0 e 100) per rappresentare la quantità di traffico totale che si desidera instradare. Selezionare Salva.
Dopo il salvataggio dell'impostazione, la percentuale specificata di client viene instradata in modo casuale allo slot non di produzione.
Dopo che un client viene indirizzato automaticamente a uno slot specifico, viene "bloccato" in tale slot per la durata della sessione del client. Nel browser client, è possibile visualizzare a quale slot è associata la sessione, esaminando il cookie x-ms-routing-name
nelle intestazioni HTTP. Una richiesta indirizzata allo slot "staging" ha il cookie x-ms-routing-name=staging
. Una richiesta indirizzata allo slot di produzione ha il cookie x-ms-routing-name=self
.
Instradare manualmente il traffico di produzione
Oltre al routing automatico del traffico, il servizio app può instradare le richieste a uno slot specifico. Questo è utile quando vuoi che gli utenti possano iscriversi o cancellarsi dalla tua app beta. Per instradare manualmente il traffico di produzione, usare il parametro di query x-ms-routing-name
.
Per consentire agli utenti di rifiutare esplicitamente l'app beta, ad esempio, è possibile inserire questo collegamento nella pagina Web:
<a href="<webappname>.azurewebsites.net/?x-ms-routing-name=self">Go back to production app</a>
La stringa x-ms-routing-name=self
specifica lo slot di produzione. Dopo che il browser del client accede al collegamento, viene reindirizzato allo slot di produzione. Ogni richiesta successiva include il cookie x-ms-routing-name=self
che associa la sessione allo slot di produzione.
Per consentire agli utenti di partecipare all'app beta, impostare lo stesso parametro di query sul nome dell'ambiente non di produzione. Ecco un esempio:
<webappname>.azurewebsites.net/?x-ms-routing-name=staging
Per impostazione predefinita, ai nuovi slot viene assegnata una regola di routing di 0%
, un valore predefinito viene visualizzato in grigio. Quando si imposta in modo esplicito il valore della regola di routing su 0%
viene visualizzato in nero, gli utenti possono accedere manualmente allo slot di staging usando il parametro di query x-ms-routing-name
. Ma non verranno indirizzati automaticamente allo slot perché la percentuale di routing è impostata su 0. Si tratta di uno scenario avanzato in cui è possibile "nascondere" lo slot di staging dal pubblico, consentendo ai team interni di testare le modifiche nello slot.