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 relativi a uno stato danneggiato di Gestione traffico di Azure, è abilitare la registrazione. Per altre informazioni, vedere Abilitare i log delle risorse . Si supponga di aver configurato un profilo di Gestione traffico che punta ad alcuni dei servizi ospitati cloudapp.net. Se l'integrità di Gestione traffico visualizza uno stato Danneggiato , lo stato di uno o più endpoint potrebbe essere danneggiato:

Stato degli endpoint Danneggiato

Se lo stato di integrità di Gestione traffico è Inattivo, entrambi gli endpoint possono avere stato Disattivato:

Stato Inattivo di Gestione traffico

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 sia stato specificato come codice di risposta valido negli intervalli di codici di stato previsti del profilo di 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 verifica solo che w3wp.exe risponda. 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. In questo modo si evita che eventuali 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

Che cos'è Gestione traffico

Servizi cloud

Servizio app di Azure

Operazioni per Gestione traffico (informazioni di riferimento API REST)

Cmdlet di Gestione traffico di Azure