Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano sposób rozwiązywania typowych problemów z routingiem, które mogą wystąpić w przypadku konfiguracji usługi Azure Front Door.
Inne nagłówki debugowania HTTP
Możesz zażądać od usługi Azure Front Door zwrócenia dodatkowych nagłówków odpowiedzi HTTP do debugowania. Aby uzyskać więcej informacji, zobacz opcjonalne nagłówki odpowiedzi.
Odpowiedź 503 lub 504 z usługi Azure Front Door po kilku sekundach
Objaw
- Regularne żądania wysyłane do zaplecza bez przechodzenia przez usługę Azure Front Door kończą się powodzeniem. Przechodzenie przez usługę Azure Front Door powoduje odpowiedzi o błędach 503 lub 504.
- Błąd z usługi Azure Front Door zwykle pojawia się po około 30 sekundach.
- Sporadyczne błędy 503 są wyświetlane z komunikatem "ErrorInfo: OriginInvalidResponse".
Przyczyna
Przyczyną tego problemu może być jedna z trzech rzeczy:
- Połączenie ze źródłowym serwerem trwa dłużej niż limit czasu skonfigurowany na potrzeby odbioru żądania od usługi Azure Front Door. Domyślny limit czasu to 30 sekund.
- Czas potrzebny na wysłanie odpowiedzi na żądanie z usługi Azure Front Door trwa dłużej niż wartość limitu czasu.
- Klient wysłał żądanie zakresu bajtów z nagłówkiem Accept-Encoding , co oznacza, że kompresja jest włączona.
Kroki rozwiązywania problemów
Wyślij żądanie bezpośrednio do swojego źródła bez przechodzenia przez usługę Azure Front Door. Zobacz, ile czasu zwykle zajmuje pochodzeniu udzielenie odpowiedzi.
Wyślij żądanie za pośrednictwem usługi Azure Front Door i sprawdź, czy otrzymujesz odpowiedzi 503. 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 usługę Azure Front Door powodują wyświetlenie kodu odpowiedzi o błędzie 503, skonfiguruj limit czasu odpowiedzi źródła dla usługi Azure Front Door. Możesz zwiększyć domyślny limit czasu do maksymalnie 4 minut (240 sekund). Aby skonfigurować 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 Origin jest dostępna tylko w usłudze Azure Front Door Standard/Premium.
Jeśli zwiększenie limitu czasu nie rozwiąże problemu, użyj narzędzia, takiego jak Fiddler lub narzędzia deweloperskiego przeglądarki, aby sprawdzić, czy klient wysyła żądania zakresu bajtów z nagłówkami Accept-Encoding . Użycie tej opcji powoduje, że źródło odpowiada różnymi długościami zawartości.
Jeśli klient wysyła żądania zakresu bajtów z nagłówkami Accept-Encoding , dostępne są dwie opcje. Pierwszą opcją jest wyłączenie kompresji w źródle lub usłudze Azure Front Door. Drugą opcją jest utworzenie zestawu reguł w celu usunięcia Accept-Encoding z żądania zakresu bajtów.
503 odpowiedzi z usługi Azure Front Door tylko dla protokołu HTTPS
Objaw
- Wszystkie odpowiedzi 503 są zwracane tylko dla punktów końcowych z obsługą protokołu HTTPS usługi Azure Front Door.
- Regularne żądania wysyłane do zaplecza bez przechodzenia przez usługę Azure Front Door kończą się powodzeniem. Przechodzenie za pośrednictwem usługi Azure Front Door powoduje 503 odpowiedzi o błędach.
- Sporadyczne błędy 503 są wyświetlane z komunikatem "ErrorInfo: OriginInvalidResponse".
Przyczyna
Przyczyną tego problemu może być jedna z trzech rzeczy:
- Backendem jest adres IP.
- Serwer zaplecza zwraca certyfikat, który nie jest zgodny z w pełni kwalifikowaną nazwą domeny (FQDN) zaplecza usługi Azure Front Door.
- Zaplecze to serwer usługi Azure Web Apps.
Kroki rozwiązywania problemów
Backendem jest adres IP.
EnforceCertificateNameCheck
musi być wyłączona.Usługa Azure Front Door ma przełącznik o nazwie
EnforceCertificateNameCheck
. Domyślnie to ustawienie jest włączone. Po włączeniu usługa Azure Front Door sprawdza, czy nazwa FQDN hosta zaplecza jest zgodna z nazwą certyfikatu serwera zaplecza lub jednym z wpisów w rozszerzeniu z alternatywnymi nazwami podmiotu.Jak wyłączyć
EnforceCertificateNameCheck
z Azure Portal:W portalu użyj przycisku przełączania, aby włączyć lub wyłączyć to ustawienie w panelu Projektowanie usługi Azure Front Door (klasyczne).
W przypadku warstwy Standard i Premium usługi Azure Front Door to ustawienie można znaleźć w ustawieniach źródła podczas dodawania źródła do grupy źródłowej lub konfigurowania ścieżki.
Serwer zaplecza zwraca certyfikat, który nie jest zgodny z nazwą FQDN zaplecza usługi Azure Front Door. Aby rozwiązać ten problem, masz dwie opcje:
- Zwrócony certyfikat musi odpowiadać nazwie FQDN.
-
EnforceCertificateNameCheck
musi być wyłączona.
Zaplecze to serwer usługi Azure Web Apps:
- Sprawdź, czy aplikacja internetowa platformy Azure jest skonfigurowana przy użyciu protokołu SSL opartego na protokole IP, a nie opartego na SNI (wskazaniu nazwy serwera). Jeśli aplikacja internetowa jest skonfigurowana jako oparta na protokole IP, należy ją zmienić na SNI.
- Jeśli zaplecze jest w złej kondycji z powodu błędu certyfikatu, zwracany jest komunikat o błędzie 503. Kondycję zaplecza można sprawdzić na portach 80 i 443. Jeśli tylko 443 jest w złej kondycji, prawdopodobnie jest to problem z protokołem SSL. Ponieważ zaplecze jest skonfigurowane do używania FQDN, wiemy, że wysyła SNI.
Użyj OPENSSL, aby zweryfikować zwracany certyfikat. Aby to sprawdzić, połącz się z zapleczem przy użyciu
-servername
. Powinien zwrócić SNI, które musi być zgodne z pełną nazwą domenową (FQDN) puli serwera zaplecza.openssl s_client -connect backendvm.contoso.com:443 -servername backendvm.contoso.com
Żądania wysyłane do domeny niestandardowej zwracają kod stanu 400
Objaw
- Utworzono wystąpienie usługi Azure Front Door. Żądanie do domeny lub hosta frontendu zwraca kod stanu HTTP 400.
- 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 400. Wygląda na to, że nie jest przekierowany do skonfigurowanego zaplecza.
Przyczyna
Problem występuje, jeśli nie skonfigurowano reguły routingu dla domeny niestandardowej, która została dodana jako host frontonu. Reguła routingu musi zostać jawnie dodana dla tego hosta frontendu. Regułę należy utworzyć nawet wtedy, gdy reguła routingu została już skonfigurowana dla hosta frontonu w poddomenie usługi Azure Front Door, czyli *.azurefd.net.
Krok rozwiązywania problemów
Dodaj regułę routingu dla domeny niestandardowej, aby kierować ruch do wybranej grupy pochodzenia.
Usługa Azure Front Door nie przekierowuje protokołu HTTP do protokołu HTTPS
Objaw
Usługa Azure Front Door ma regułę routingu, która przekierowuje protokół HTTP do protokołu HTTPS, ale uzyskiwanie dostępu do domeny nadal utrzymuje protokół HTTP jako protokół.
Przyczyna
Takie zachowanie może wystąpić, jeśli reguły routingu nie zostały poprawnie skonfigurowane dla usługi Azure Front Door. Bieżąca konfiguracja nie jest konkretna i może mieć sprzeczne reguły.
Kroki rozwiązywania problemów
Żądanie do nazwy hosta frontendu zwraca kod stanu 411
Objaw
Utworzono wystąpienie usługi Azure Front Door Standard/Premium i skonfigurowano:
- Host frontendu.
- Grupa pochodzenia, w której znajduje się co najmniej jeden punkt początkowy.
- Reguła routingu, która łączy hosta frontendu z grupą źródłową.
Zawartość wydaje się być niedostępna, gdy żądanie przechodzi do skonfigurowanego serwera frontendowego, ponieważ zwracany jest kod stanu HTTP 411.
Odpowiedzi na te żądania mogą również zawierać stronę błędu HTML w treści odpowiedzi, która zawiera instrukcję wyjaśniającą. Przykładem jest "Błąd HTTP 411. Żądanie musi być fragmentaryczne lub mieć długość zawartości".
Przyczyna
Istnieje kilka możliwych przyczyn tego objawu. Ogólnym powodem jest to, że żądanie HTTP nie jest w pełni zgodne ze specyfikacją RFC.
Przykładem niezgodności jest żądanie wysłane POST
bez nagłówków Content-Length lub Transfer-Encoding. Przykładem może być użycie curl -X POST https://example-front-door.domain.com
. To żądanie nie spełnia wymagań określonych w dokumencie RFC 7230. Usługa Azure Front Door zablokuje go za pomocą odpowiedzi HTTP 411. Takie żądania nie są rejestrowane.
To zachowanie jest niezależne od funkcji zapory aplikacji internetowej (WAF) usługi Azure Front Door. Obecnie nie ma możliwości wyłączenia tego zachowania. Wszystkie żądania HTTP muszą spełniać wymagania, nawet jeśli funkcjonalność WAF (zapory aplikacji webowej) nie jest używana.
Kroki rozwiązywania problemów
- Sprawdź, czy żądania są zgodne z wymaganiami określonymi w niezbędnych dokumentach RFC.
- Zanotuj treść wiadomości HTML, która jest zwracana w odpowiedzi na żądanie. Treść wiadomości często dokładnie wyjaśnia, w jaki sposób żądanie jest niezgodne.
Moje pochodzenie jest skonfigurowane jako adres IP.
Objaw
Źródło jest skonfigurowane jako adres IP. Źródło funkcjonuje prawidłowo, ale odrzuca żądania z usługi Azure Front Door.
Przyczyna
Usługa Azure Front Door wykorzystuje nazwę hosta źródła jako nagłówek SNI podczas uzgadniania SSL. Ponieważ źródło jest skonfigurowane jako adres IP, błąd może być jedną z następujących przyczyn:
- Jeśli sprawdzanie nazwy certyfikatu jest wyłączone, możliwe, że przyczyna problemu leży w logice certyfikatu pochodzenia. Ta logika może odrzucać wszystkie żądania, które nie mają prawidłowego nagłówka Host zgodnego z certyfikatem.
Kroki rozwiązywania problemów
Zmień źródło z adresu IP na nazwę FQDN, do której jest wystawiany ważny certyfikat zgodny z certyfikatem pochodzenia.
429 odpowiedzi od usługi Azure Front Door
Objaw
- Pewien odsetek żądań zaczyna pokazywać błędy z odpowiedzią 429: Zbyt wiele żądań.
Przyczyna
- Usługa Azure Front Door ma domyślne limity szybkości platformy. Jeśli ruch przekroczy limit, AFD rozpocznie ograniczanie szybkości ruchu i zwróci 429 odpowiedzi.
Kroki rozwiązywania problemów
- Jeśli zaczniesz widzieć 429 dla legalnego ruchu i konieczne jest ograniczenie wyższego limitu przydziału, utwórz wniosek o pomoc techniczną platformy Azure.
Dalsze kroki
- Dowiedz się, jak utworzyć Front Door.
- Dowiedz się , jak utworzyć usługę Front Door Standard/Premium.