Rozwiązywanie typowych problemów z Azure Front Door

Podsumowanie

W tym artykule opisano sposób rozwiązywania typowych problemów, które mogą wystąpić podczas korzystania z Azure Front Door.

Uwaga / Notatka

Możesz poprosić Azure Front Door o zwrócenie dodatkowych nagłówków debugowania HTTP w odpowiedzi. Aby uzyskać więcej informacji, zobacz opcjonalne nagłówki odpowiedzi.

Odpowiedź 504 z usługi Azure Front Door po kilku sekundach

Objaw

  • Regularne żądania wysyłane do zaplecza bez przechodzenia przez Azure Front Door kończą się powodzeniem. Przejście przez Azure Front Door powoduje 504 odpowiedzi na błędy.
  • Błąd z Azure Front Door zwykle pojawia się po około 30 sekundach.
  • Błędy 504 pojawiają się z komunikatem „ErrorInfo: OriginTimeout”.

Przyczyna

Przyczyną tego problemu może być jedna z dwóch rzeczy:

  • Twój serwer źródłowy przekroczył ustawiony limit czasu na odbieranie żądania z Azure Front Door. Domyślny limit czasu to 30 sekund.
  • Czas wysyłania odpowiedzi na żądanie z Azure Front Door trwa dłużej niż wartość limitu czasu.

Kroki rozwiązywania problemów

  • Wyślij żądanie bezpośrednio do serwera źródłowego, pomijając Azure Front Door. Sprawdź, jak długo zwykle trwa reagowanie źródła.

  • Wyślij żądanie za pośrednictwem Azure Front Door i sprawdź, czy pojawiają się odpowiedzi 504. Jeśli nie, problem może nie dotyczyć przekroczenia limitu czasu. Utwórz zgłoszenie do pomocy technicznej, aby dalej rozwiązywać problem.

  • Jeśli żądania przechodzące przez Azure Front Door spowodują wyświetlenie kodu odpowiedzi błędu 504, skonfiguruj limit czasu odpowiedzi źródła dla Azure Front Door. Możesz zwiększyć domyślny limit czasu do maksymalnie 4 minut (240 sekund). Aby skonfigurować to ustawienie, przejdź do strony przeglądu profilu usługi Front Door. Wybierz opcję Limit czasu odpowiedzi Origin i wprowadź wartość z zakresu od 16 do 240 sekund.

    Uwaga / Notatka

    Możliwość skonfigurowania limitu czasu odpowiedzi źródła jest dostępna tylko w Azure Front Door w warstwie Standardowa/Premium.

    Zrzut ekranu ustawień limitu czasu źródła na stronie przeglądowej profilu Azure Front Door.

502 odpowiedzi z Azure Front Door tylko dla protokołu HTTPS

Objaw

  • Azure Front Door zwraca 502 odpowiedzi tylko dla punktów końcowych z obsługą protokołu HTTPS.
  • Zwykłe żądania wysyłane do zaplecza bez przechodzenia przez usługę Azure Front Door kończą się powodzeniem. Przejście przez Azure Front Door powoduje 502 odpowiedzi na błędy.

Przyczyna

Przyczyną tego problemu może być jedna z trzech rzeczy:

  • Nazwa hosta źródła jest adresem IP.
  • Serwer pochodzenia zwraca certyfikat, który nie jest zgodny z w pełni kwalifikowaną nazwą domeny (FQDN) zaplecza Azure Front Door.
  • Serwer pochodzenia zwraca certyfikat bez kompletnego łańcucha.

Kroki rozwiązywania problemów

  • Backendem jest adres IP.

    Należy wyłączyć EnforceCertificateNameCheck.

    Azure Front Door ma przełącznik o nazwie EnforceCertificateNameCheck. Domyślnie to ustawienie jest włączone. Po włączeniu Azure Front Door sprawdza, czy nazwa FQDN hosta zaplecza jest zgodna z nazwą certyfikatu serwera zaplecza lub jednym z wpisów w rozszerzeniu nazw alternatywnych podmiotu.

    • Jak wyłączyć EnforceCertificateNameCheck z portalu Azure:

      W portalu użyj przycisku przełącznika, aby włączyć lub wyłączyć to ustawienie w okienku Azure Front Door (wersja klasyczna) Design.

      Screenshot przedstawiający przycisk przełącznika w Azure Front Door (wersja klasyczna).

      W przypadku usługi Azure Front Door w warstwach Standard i Premium to ustawienie można znaleźć w ustawieniach źródła podczas dodawania źródła do grupy źródeł lub konfigurowania trasy.

      Zrzut ekranu przedstawiający pole wyboru sprawdzania poprawności nazwy podmiotu certyfikatu.


  • Serwer zaplecza zwraca certyfikat, który nie jest zgodny z nazwą FQDN zaplecza Azure Front Door. Aby rozwiązać ten problem, masz dwie opcje:

    • Zwrócony certyfikat musi odpowiadać nazwie FQDN.
    • Wyłącz EnforceCertificateNameCheck.
  • Serwer pochodzenia zwraca certyfikat bez kompletnego łańcucha:

    • Serwer źródłowy musi zwrócić certyfikat z kompletnym łańcuchem certyfikatów, zawierającym co najmniej certyfikat końcowy i certyfikaty pośrednie. Jeśli serwer pochodzenia zwraca tylko certyfikat liścia, Azure Front Door zwraca błąd 502.

    • Testowanie certyfikatu serwera pochodzenia w przeglądarce przez nawiązanie połączenia z serwerem pochodzenia bezpośrednio z maszyny klienckiej nie powoduje wystąpienia błędu. Przeglądarka odbudowuje łańcuch certyfikatów tak, jak jej zdaniem powinien on wyglądać, zamiast pokazywać dokładnie to, co zwrócił serwer źródłowy.

    • Użyj narzędzia OpenSSL, aby zweryfikować łańcuch certyfikatów, który jest zwracany. Aby przeprowadzić tę kontrolę, połącz się z nazwą hosta źródłowego przy użyciu polecenia -connect. Wyślij nazwę hosta źródła przy użyciu polecenia -servername. Jeśli nazwa hosta źródła to adres IP, użyj polecenia -noservername. Polecenie zwraca cały łańcuch certyfikatów, który musi odpowiadać FQDN źródła i zawierać pełny łańcuch zaufania:

    Źródłowa nazwa hosta jest nazwą FQDN:

    openssl s_client -connect backendvm.contoso.com:443 -servername backendvm.contoso.com -showcerts

    Nazwa hosta źródła to adres IP:

    openssl s_client -connect 0.0.0.0:443 -noservername -showcerts

Żądania wysyłane do domeny niestandardowej zwracają kod stanu 404

Objaw

  • Utworzono wystąpienie Azure Front Door. Żądanie do domeny lub hosta warstwy frontendowej zwraca kod stanu HTTP 404.
  • Utworzono mapowanie DNS (serwera nazw domen) dla niestandardowej domeny do frontowego hosta, który skonfigurowałeś. Wysłanie żądania do niestandardowej nazwy hosta domeny zwraca kod stanu HTTP 404. Wygląda na to, że nie kieruje do źródła, które skonfigurowano.

Przyczyna

Ten problem występuje, jeśli nie skonfigurowano reguły routingu dla domeny niestandardowej, którą dodano jako host frontonu. Musisz jawnie dodać regułę routingu dla tego hosta frontendu. Musisz utworzyć regułę, nawet jeśli skonfigurowano już regułę routingu dla hosta frontonu w ramach poddomeny Azure Front Door, czyli .azurefd.net.

Krok rozwiązywania problemów

Dodaj regułę routingu dla domeny niestandardowej, aby kierować ruch do wybranej grupy pochodzenia.

Azure Front Door nie przekierowuje protokołu HTTP do protokołu HTTPS

Objaw

Azure Front Door ma regułę routingu zarówno dla protokołu HTTP, jak i HTTPS, ale uzyskiwanie dostępu do domeny przy użyciu protokołu HTTP utrzymuje protokół HTTP.

Przyczyna

Takie zachowanie może wystąpić, jeśli reguły routingu nie były poprawnie skonfigurowane dla Azure Front Door. Bieżąca konfiguracja nie jest konkretna i może mieć sprzeczne reguły.

Kroki rozwiązywania problemów

Upewnij się, że w trasie wybrano opcję Przekieruj cały ruch do użycia protokołu HTTPS .

Zrzut ekranu przedstawiający opcję przekierowania do HTTPS na trasie usługi Front Door.

Moje źródło jest skonfigurowane jako adres IP

Objaw

Źródło zostało skonfigurowane jako adres IP. Źródło działa prawidłowo, ale odrzuca żądania z usługi Azure Front Door.

Przyczyna

Usługa Azure Front Door używa nazwy hosta źródła jako nagłówka SNI podczas uzgadniania SSL. Jeśli skonfigurujesz źródło jako adres IP i wyłączysz sprawdzanie nazwy certyfikatu, logika certyfikatu pochodzenia może odrzucać żądania, które nie mają prawidłowego interfejsu SNI pasującego do certyfikatu.

Kroki rozwiązywania problemów

Zmień źródło z adresu IP na w pełni kwalifikowaną nazwę domeny (FQDN), która ma prawidłowy certyfikat pasujący do certyfikatu pochodzenia.

429 odpowiedzi z Azure Front Door

Objaw

Pewien odsetek żądań zaczyna pokazywać błędy z odpowiedzią 429: Zbyt wiele żądań.

Przyczyna

Azure Front Door ma domyślne limity szybkości platformy. Jeśli ruch przekracza limit, usługa Front Door rozpoczyna ograniczanie szybkości ruchu i zwraca 429 odpowiedzi.

Kroki rozwiązywania problemów

Jeśli zaczniesz otrzymywać odpowiedzi 429 w przypadku uzasadnionego ruchu i potrzebujesz wyższego limitu przydziału, utwórz zgłoszenie do pomocy technicznej platformy Azure.