Udostępnij za pośrednictwem


Kody odpowiedzi HTTP w usłudze Application Gateway

Ten artykuł zawiera powody, dla których usługa aplikacja systemu Azure Gateway zwraca określone kody odpowiedzi HTTP. Podano typowe przyczyny i kroki rozwiązywania problemów, które ułatwiają ustalenie głównej przyczyny błędu kodu odpowiedzi HTTP. Kody odpowiedzi HTTP można zwrócić do żądania klienta, czy połączenie zostało zainicjowane do obiektu docelowego zaplecza.

Kody odpowiedzi 3XX (przekierowanie)

300–399 odpowiedzi są wyświetlane, gdy żądanie klienta jest zgodne z regułą bramy aplikacji, która ma skonfigurowane przekierowania. Przekierowania można skonfigurować zgodnie z regułą lub za pomocą reguły mapy ścieżki. Aby uzyskać więcej informacji na temat przekierowań, zobacz Omówienie przekierowania usługi Application Gateway.

301 Przekierowanie trwałe

Odpowiedzi HTTP 301 są prezentowane, gdy zostanie określona reguła przekierowania z wartością Stałą.

Znaleziono 302

Odpowiedzi HTTP 302 są prezentowane, gdy zostanie określona reguła przekierowania z wartością Znaleziono .

303 Zobacz inne

Odpowiedzi HTTP 302 są prezentowane, gdy reguła przekierowania jest określona z wartością Zobacz inne .

307 Przekierowanie tymczasowe

Odpowiedzi HTTP 307 są prezentowane, gdy zostanie określona reguła przekierowania z wartością Tymczasowa.

Kody odpowiedzi 4XX (błąd klienta)

Kody odpowiedzi 400–499 wskazują problem zainicjowany przez klienta. Te problemy mogą być różne od klienta inicjującego żądania do niedopasowanej nazwy hosta, limitu czasu żądania, nieuwierzytelnionego żądania, złośliwego żądania i nie tylko.

Usługa Application Gateway zbiera metryki, które przechwytują dystrybucję kodów stanu 4xx/5xx, ma mechanizm rejestrowania, który przechwytuje informacje, takie jak adres IP klienta identyfikatora URI z kodem odpowiedzi. Metryki i rejestrowanie umożliwiają dalsze rozwiązywanie problemów. Klienci mogą również odbierać odpowiedź 4xx z innych serwerów proxy między urządzeniem klienckim a usługą Application Gateway. Na przykład usługa CDN i inni dostawcy uwierzytelniania. Aby uzyskać więcej informacji, zobacz następujące artykuły.

Metryki obsługiwane przez dzienniki diagnostyczne jednostki SKUusługi Application Gateway w wersji 2

400 — nieprawidłowe żądanie

Kody odpowiedzi HTTP 400 są często obserwowane, gdy:

  • Ruch bez protokołu HTTP/HTTPS jest inicjowany do bramy aplikacji za pomocą odbiornika HTTP lub HTTPS.
  • Ruch HTTP jest inicjowany do odbiornika przy użyciu protokołu HTTPS bez skonfigurowanego przekierowania.
  • Uwierzytelnianie wzajemne jest skonfigurowane i nie można prawidłowo negocjować.
  • Żądanie nie jest zgodne z RFC.

Oto niektóre typowe przyczyny niezgodności żądania z RFC:

Kategoria Przykłady
Nieprawidłowy host w wierszu żądania Host zawierający dwa dwukropki (example.com:8090:8080)
Brak nagłówka hosta Żądanie nie ma nagłówka hosta
Obecność źle sformułowanego lub nielegalnego charakteru Zastrzeżone znaki to &,!. Obejście polega na zakodowaniu go jako wartości procentowej. Na przykład: %&
Nieprawidłowa wersja protokołu HTTP Pobierz /content.css HTTP/0.3
Nazwa pola nagłówka i identyfikator URI zawierają znak inny niż ASCII GET /«úü}»}.doc HTTP/1.1
Brak nagłówka Content Length dla żądania POST Wymowne
Nieprawidłowa metoda HTTP GET123 /index.html HTTP/1.1
Zduplikowane nagłówki Authorization:<base64 zakodowana zawartość>, Autoryzacja: <zawartość zakodowana w formacie base64>
Nieprawidłowa wartość w długości zawartości Content-Length: abc,Content-Length: -10

W przypadku skonfigurowania wzajemnego uwierzytelniania kilka scenariuszy może prowadzić do zwrócenia odpowiedzi HTTP 400, takiej jak:

  • Certyfikat klienta nie jest prezentowany, ale włączone jest wzajemne uwierzytelnianie.
  • Walidacja nazwy wyróżniającej jest włączona, a nazwa wyróżniająca certyfikatu klienta nie jest zgodna z dnem określonego łańcucha certyfikatów.
  • Łańcuch certyfikatów klienta nie jest zgodny z łańcuchem certyfikatów skonfigurowanym w zdefiniowanych zasadach PROTOKOŁU SSL.
  • Certyfikat klienta wygasł.
  • Sprawdzanie odwołania klienta OCSP jest włączone i certyfikat zostanie odwołany.
  • Sprawdzanie odwołania klienta OCSP jest włączone, ale nie można się z tym skontaktować.
  • Sprawdzanie odwołania klienta OCSP jest włączone, ale obiekt odpowiadający OCSP nie jest podany w certyfikacie.

Aby uzyskać więcej informacji na temat rozwiązywania problemów z uwierzytelnianiem wzajemnym, zobacz Rozwiązywanie problemów z kodem błędu.

401 — Brak autoryzacji

Odpowiedź HTTP 401 nieautoryzowana jest zwracana do klienta, jeśli klient nie ma autoryzacji dostępu do zasobu. Istnieje kilka powodów, dla których należy zwrócić 401. Poniżej przedstawiono kilka przyczyn potencjalnych poprawek.

  • Jeśli klient ma dostęp, może mieć nieaktualną pamięć podręczną przeglądarki. Wyczyść pamięć podręczną przeglądarki i spróbuj ponownie uzyskać dostęp do aplikacji.

Odpowiedź HTTP 401 nieautoryzowana może zostać zwrócona do żądania sondy AppGW, jeśli pula zaplecza jest skonfigurowana z uwierzytelnianiem NTLM . W tym scenariuszu zaplecze jest oznaczone jako w dobrej kondycji. Istnieje kilka opcji umożliwiających rozwiązanie tego problemu:

  • Zezwalaj na dostęp anonimowy w puli zaplecza.
  • Skonfiguruj sondę w celu wysłania żądania do innej „fałszywej” witryny, która nie wymaga protokołu NTLM.
  • Niezalecane, ponieważ nie informuje nas to, czy rzeczywista lokacja za bramą aplikacji jest aktywna, czy nie.
  • Skonfiguruj bramę aplikacji, aby zezwolić na odpowiedzi 401 jako prawidłowe dla sond: warunki dopasowania sondy.

403 — Zabronione

Protokół HTTP 403 Zabronione jest wyświetlany, gdy klienci korzystają z jednostek SKU zapory aplikacji internetowej i mają zaporę aplikacji internetowej skonfigurowaną w trybie zapobiegania. Jeśli włączone zestawy reguł zapory aplikacji internetowej lub niestandardowe reguły zapory aplikacji internetowej odmowy są zgodne z charakterystyką żądania przychodzącego, klient otrzymuje odpowiedź 403 zabronione.

Inne przyczyny otrzymania odpowiedzi przez klientów 403 to:

  • Używasz usługi App Service jako zaplecza i jest ona skonfigurowana do zezwalania na dostęp tylko z usługi Application Gateway. Może to zwrócić błąd 403 przez usługę App Services. Zazwyczaj dzieje się tak z powodu przekierowań/linków href, które wskazują bezpośrednio usługę App Services, zamiast wskazywać adres IP usługi Application Gateway.
  • Jeśli uzyskujesz dostęp do blogu magazynu, a punkt końcowy usługi Application Gateway i magazynu znajduje się w innym regionie, zwracany jest błąd 403, jeśli publiczny adres IP usługi Application Gateway nie jest wyświetlany na liście dozwolonych. Zobacz Udzielanie dostępu z zakresu internetowych adresów IP.

404 — Nie znaleziono strony

Odpowiedź HTTP 404 może zostać zwrócona, jeśli żądanie jest wysyłane do bramy aplikacji, która:

  • Korzystanie z jednostki SKU w wersji 2.
  • Bez dopasowania nazwy hosta zdefiniowanego w odbiornikach obejmujących wiele lokacji.
  • Nie skonfigurowano przy użyciu podstawowego odbiornika.

408 — limit czasu żądania

Odpowiedź HTTP 408 można zaobserwować, gdy żądania klienta do odbiornika frontonu bramy aplikacji nie odpowiadają z powrotem w ciągu 60 sekund. Ten błąd można zaobserwować z powodu przeciążenia ruchu między sieciami lokalnymi a platformą Azure, gdy urządzenie wirtualne sprawdza ruch lub sam klient staje się przeciążony.

413 — Zbyt duża jednostka żądania

Podczas korzystania z usługi Azure Web Application Firewall w usłudze Application Gateway można zaobserwować odpowiedź HTTP 413, a rozmiar żądania klienta przekracza maksymalny limit rozmiaru treści żądania. Maksymalne pole rozmiaru treści żądania kontroluje ogólny limit rozmiaru żądania z wyłączeniem przekazywania plików. Wartość domyślna rozmiaru treści żądania to 128 KB. Aby uzyskać więcej informacji, zobacz Limity rozmiaru żądań zapory aplikacji internetowej.

499 — Klient zamknął połączenie

Odpowiedź HTTP 499 jest wyświetlana, jeśli żądanie klienta wysyłane do bram aplikacji przy użyciu jednostki SKU w wersji 2 zostanie zamknięte przed zakończeniem odpowiedzi serwera. Ten błąd można zaobserwować w 2 scenariuszach. Pierwszy scenariusz polega na tym, że duża odpowiedź jest zwracana do klienta, a klient mógł zamknąć lub odświeżyć aplikację, zanim serwer zakończy wysyłanie dużej odpowiedzi. Drugi scenariusz polega na tym, że przekroczenie limitu czasu po stronie klienta jest niskie i nie czeka wystarczająco długo, aby odebrać odpowiedź z serwera. W takim przypadku lepiej zwiększyć limit czasu na kliencie. W bramach aplikacji korzystających z jednostki SKU w wersji 1 może zostać zgłoszony kod odpowiedzi HTTP 0 dla klienta zamykającego połączenie, zanim serwer również zakończy odpowiedź.

Kody odpowiedzi 5XX (błąd serwera)

Kody odpowiedzi 500–599 wskazują, że wystąpił problem z bramą aplikacji lub serwerem zaplecza podczas wykonywania żądania.

500 — wewnętrzny błąd serwera

Brama Azure Application Gateway nie powinna zawierać 500 kodów odpowiedzi. Otwórz żądanie pomocy technicznej, jeśli widzisz ten kod, ponieważ ten problem jest błędem wewnętrznym usługi. Aby uzyskać informacje na temat otwierania zgłoszenia do pomocy technicznej, zobacz Tworzenie żądania pomoc techniczna platformy Azure.

502 — Zła brama

Błędy HTTP 502 mogą mieć kilka głównych przyczyn, na przykład:

  • Sieciowa grupa zabezpieczeń, trasa zdefiniowana przez użytkownika lub niestandardowy system DNS blokuje dostęp do składowych puli zaplecza.
  • Maszyny wirtualne zaplecza lub wystąpienia zestawów skalowania maszyn wirtualnych nie odpowiadają na domyślną sondę kondycji.
  • Nieprawidłowa lub niewłaściwa konfiguracja niestandardowych sond kondycji.
  • aplikacja systemu Azure pula zaplecza bramy nie jest skonfigurowana ani pusta.
  • Żadna z maszyn wirtualnych lub wystąpień w zestawie skalowania maszyn wirtualnych nie jest w dobrej kondycji.
  • Limit czasu żądania lub problemy z łącznością związane z żądaniami użytkownika — jednostka SKU usługi Azure Application Gateway w wersji 1 wysłała błędy HTTP 502, jeśli czas odpowiedzi zaplecza przekracza wartość limitu czasu skonfigurowaną w ustawieniu zaplecza.

Aby uzyskać informacje o scenariuszach, w których występują błędy 502 i jak je rozwiązywać, zobacz Rozwiązywanie problemów z błędami nieprawidłowej bramy.

504 — limit czasu bramy

Jednostka SKU usługi Azure Application Gateway w wersji 2 wysłała błędy HTTP 504, jeśli czas odpowiedzi zaplecza przekracza wartość limitu czasu skonfigurowaną w ustawieniu zaplecza.

IIS

Jeśli serwer zaplecza obejmuje usługi IIS, zobacz Domyślne limity dla witryn internetowych, aby ustawić wartość limitu czasu. Aby uzyskać szczegółowe informacje, zapoznaj się z atrybutem connectionTimeout . Upewnij się, że limit czasu połączenia w usługach IIS jest zgodny lub nie przekracza limitu czasu ustawionego w ustawieniu zaplecza.

nginx

Jeśli serwer zaplecza jest kontrolerem ruchu przychodzącego nginx lub nginx, a jeśli ma serwery nadrzędne, upewnij się, że wartość dopasowań nginx:proxy_read_timeout lub nie przekracza limitu czasu ustawionego w ustawieniu zaplecza.

Następne kroki

Jeśli informacje zawarte w tym artykule nie pomogą rozwiązać problemu, prześlij bilet pomocy technicznej.