Rozwiązywanie problemów z App Service w Application Gateway

Dowiedz się, jak diagnozować i rozwiązywać problemy, które mogą wystąpić, gdy Azure App Service jest używany jako obiekt docelowy zaplecza z Azure Application Gateway.

Omówienie

W tym artykule dowiesz się, jak rozwiązać następujące problemy, zgodnie z opisem w temacie Centrum architektury: Zachowaj oryginalną nazwę hosta HTTP między zwrotnym serwerem proxy i aplikacją internetową zaplecza

Główną przyczyną powyższych objawów jest konfiguracja, która zastępuje nazwę hosta jako używaną przez Application Gateway w kierunku App Service do innej nazwy hosta, jak jest postrzegana przez przeglądarkę. Często nazwa hosta jest zastępowana do domyślnej domeny App Service "azurewebsites.net".

Główna przyczyna — Application Gateway zastępuje nazwę hosta azurewebsites.net

Przykładowa konfiguracja

Jeśli konfiguracja jest zgodna z jedną z poniższych dwóch sytuacji, konfiguracja podlega instrukcjom w tym artykule:

  • Wybierz nazwę hosta z adresu zaplecza jest włączona w ustawieniach PROTOKOŁU HTTP
  • Przesłoń z określoną nazwą domeny jest ustawiona na wartość inną niż to, co ma żądanie przeglądarki

Przyczyna

App Service jest usługą wielodostępną, dlatego używa nagłówka hosta w żądaniu w celu kierowania żądania do poprawnego punktu końcowego. Domyślna nazwa domeny usługi App Services, *.azurewebsites.net (powiedzmy, contoso.azurewebsites.net), różni się od nazwy domeny bramy aplikacji (np. contoso.com). W App Service zaplecza brakuje wymaganego kontekstu do wygenerowania adresów URL przekierowania lub plików cookie, które są zgodne z domeną widzianą przez przeglądarkę.

Rozwiązanie

Zalecane w środowisku produkcyjnym rozwiązanie polega na skonfigurowaniu Application Gateway i App Service, aby nie zastąpić nazwy hosta. Postępuj zgodnie z instrukcjami dotyczącymi instrukcji "Custom Domain (zalecane)" w temacie Konfigurowanie App Service przy użyciu Application Gateway

Rozważ zastosowanie innego obejścia (na przykład ponownego zapisywania nagłówka Location zgodnie z poniższym opisem) po ocenie implikacji zgodnie z opisem w artykule: Zachowaj oryginalną nazwę hosta HTTP między zwrotnym serwerem proxy i aplikacją internetową zaplecza. Implikacje te obejmują potencjalne pliki cookie powiązane z domeną i bezwzględne adresy URL spoza nagłówka lokalizacji, aby pozostać przerwane.

Obejście: ponowne zapisywanie nagłówka Lokalizacja

Ostrzeżenie

Ta konfiguracja jest dostarczana z ograniczeniami. Zalecamy zapoznanie się z implikacjami używania różnych nazw hostów między klientem a Application Gateway i między aplikacją a App Service w zapleczu. Aby uzyskać więcej informacji, zapoznaj się z artykułem w Centrum architektury: Zachowaj oryginalną nazwę hosta HTTP między zwrotnym serwerem proxy i aplikacją internetową zaplecza

Ustaw nazwę hosta w nagłówku lokalizacji na nazwę domeny bramy aplikacji. W tym celu utwórz regułę ponownego zapisywania z warunkiem, który ocenia, czy nagłówek lokalizacji w odpowiedzi zawiera azurewebsites.net. Musi również wykonać akcję w celu ponownego zapisania nagłówka lokalizacji, aby mieć nazwę hosta bramy aplikacji. Aby uzyskać więcej informacji, zobacz instrukcje dotyczące ponownego zapisywania nagłówka lokalizacji.

Uwaga

Obsługa ponownego zapisywania nagłówka HTTP jest dostępna tylko dla jednostki SKU Standard_v2 i WAF_v2 Application Gateway. Zalecamy migrację do wersji 2 w przypadku ponownego zapisywania nagłówka i innych zaawansowanych funkcji , które są dostępne w przypadku jednostki SKU w wersji 2.

Następne kroki

Jeśli poprzednie kroki nie rozwiązały problemu, otwórz bilet pomocy technicznej.