Risoluzione dei problemi relativi allo stato Danneggiato di Gestione traffico
In questo articolo viene descritto come risolvere i problemi relativi al profilo di Gestione traffico di Azure che mostra uno stato danneggiato. Come primo passaggio per la risoluzione dei problemi di un Gestione traffico di Azure stato danneggiato consiste nell'abilitare la registrazione. Per altre informazioni, vedere Abilitare i log delle risorse. Per questo scenario, si consideri la configurazione di un profilo Gestione traffico che punta ad alcuni dei servizi ospitati cloudapp.net. Se lo stato di integrità di Gestione traffico è Danneggiato, anche lo stato di uno o più endpoint può essere Danneggiato:
Se lo stato di integrità di Gestione traffico è Inattivo, entrambi gli endpoint possono avere stato Disattivato:
Informazioni sui probe di Gestione traffico
- Gestione traffico considera un endpoint Online solo se il probe ottiene una risposta HTTP 200 dal percorso probe. Se l'applicazione restituisce qualsiasi altro codice di risposta HTTP, è necessario aggiungere tale codice di risposta agli intervalli di codici di stato previsti del profilo di Gestione traffico.
- Una risposta di reindirizzamento 30x viene considerata un errore a meno che non venga specificato come codice di risposta valido negli intervalli di codici di stato previsti del profilo Gestione traffico. Gestione traffico non esegue il probe della destinazione di reindirizzamento.
- Per i probe HTTPS, gli errori di certificati vengono ignorati.
- Il contenuto effettivo del percorso probe non è importante, purché venga restituito 200. Una tecnica comune consiste nell'impostare il percorso su un valore simile a "/favicon.ico". Il contenuto dinamico, ad esempio le pagine ASP, non può sempre restituire 200, anche quando l'applicazione è integra.
- Una procedura consigliata consiste nell'impostare il percorso del probe su un elemento con logica sufficiente per determinare che il sito è attivo o inattivo. Nell'esempio precedente, impostando il percorso su "/favicon.ico", si sta testando solo che w3wp.exe risponde. Questo probe non indica necessariamente che l'applicazione Web è integra. Un'opzione migliore prevede di impostare un percorso su un valore simile a "/Probe.aspx", che è dotato della logica necessaria a determinare l'integrità del sito. Ad esempio, si potrebbero usare i contatori delle prestazioni per verificare l'utilizzo della CPU o misurare il numero di richieste con esito negativo, o tentare di accedere a risorse come lo stato del database o della sessione per assicurarsi che l'applicazione Web funzioni correttamente.
- Se tutti gli endpoint di un profilo sono danneggiati, Gestione traffico li gestirà come integri e indirizzerà il traffico a tutti gli endpoint. Questo comportamento garantisce che i problemi con il meccanismo di probe non comportino un'interruzione completa del servizio.
Risoluzione dei problemi
Per risolvere gli errori di probe, è necessario uno strumento che mostri il codice di stato HTTP restituito dall'URL del probe. Sono disponibili numerosi strumenti che mostrano la risposta HTTP non elaborata.
È inoltre possibile utilizzare la scheda Rete in Strumenti F12 per il debug di Internet Explorer per visualizzare le risposte HTTP.
Per questo esempio si vuole visualizzare la risposta dall'URL del probe: http://watestsdp2008r2.cloudapp.net:80/Probe. L'esempio di PowerShell seguente illustra il problema.
Invoke-WebRequest 'http://watestsdp2008r2.cloudapp.net/Probe' -MaximumRedirection 0 -ErrorAction SilentlyContinue | Select-Object StatusCode,StatusDescription
Output di esempio:
StatusCode StatusDescription
---------- -----------------
301 Moved Permanently
Si noti che è pervenuta una risposta di reindirizzamento. Come indicato in precedenza, qualsiasi StatusCode diverso da 200 viene considerato un errore. Gestione traffico modifica lo stato dell'endpoint impostandolo su Offline. Per risolvere il problema, controllare la configurazione del sito Web per verificare che il percorso probe sia in grado di restituire lo StatusCode appropriato. Riconfigurare quindi il probe di Gestione traffico in modo che punti a un percorso che restituisce un valore di 200.
Se il probe usa il protocollo HTTPS, è necessario disabilitare il controllo del certificato per evitare errori SSL/TLS durante il test. Le seguenti istruzioni di PowerShell disabilitano la convalida dei certificati per la sessione corrente di PowerShell:
add-type @"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
public bool CheckValidationResult(
ServicePoint srvPoint, X509Certificate certificate,
WebRequest request, int certificateProblem) {
return true;
}
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
Passaggi successivi
Informazioni sui metodi di routing di Gestione traffico
Operazioni per Gestione traffico (informazioni di riferimento API REST)