Konfigurowanie aplikacji usługi App Service
Uwaga
Od 1 czerwca 2024 r. wszystkie nowo utworzone aplikacje usługi App Service będą miały możliwość wygenerowania unikatowej domyślnej nazwy hosta przy użyciu konwencji <app-name>-<random-hash>.<region>.azurewebsites.net
nazewnictwa . Istniejące nazwy aplikacji pozostaną niezmienione.
Przykład: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Aby uzyskać więcej informacji, zapoznaj się z unikatową domyślną nazwą hosta zasobu usługi App Service.
W tym artykule wyjaśniono, jak skonfigurować typowe ustawienia dla aplikacji internetowych, zaplecza mobilnego lub aplikacji interfejsu API. Aby zapoznać się z usługą Azure Functions, zobacz Dokumentacja ustawień aplikacji dla usługi Azure Functions.
Konfigurowanie ustawień aplikacji
Uwaga
- Nazwy ustawień aplikacji mogą zawierać tylko litery, cyfry (0–9), kropki (".") i podkreślenia ("_")
- Znaki specjalne w wartości ustawienia aplikacji muszą być ucieczki zgodnie z potrzebami przez docelowy system operacyjny
Na przykład aby ustawić zmienną środowiskową w usłudze App Service Dla systemu Linux z wartością "pa$$w0rd\"
ciągu ustawienia aplikacji powinny być: "pa\$\$w0rd\\"
W usłudze App Service ustawienia aplikacji to zmienne przekazywane jako zmienne środowiskowe do kodu aplikacji. W przypadku aplikacji systemu Linux i kontenerów niestandardowych usługa App Service przekazuje ustawienia aplikacji do kontenera przy użyciu --env
flagi w celu ustawienia zmiennej środowiskowej w kontenerze. W obu przypadkach są one wstrzykiwane do środowiska aplikacji podczas uruchamiania aplikacji. Podczas dodawania, usuwania lub edytowania ustawień aplikacji usługa App Service wyzwala ponowne uruchomienie aplikacji.
W przypadku deweloperów ASP.NET i ASP.NET Core ustawienie ustawień aplikacji w usłudze App Service jest podobne do ustawiania ich w <appSettings>
pliku Web.config lub appsettings.json, ale wartości w usłudze App Service zastępują te w pliku Web.config lub appsettings.json. Ustawienia programowania (na przykład lokalne hasło mySQL) można przechowywać w plikach Web.config lub appsettings.json i wpisach tajnych produkcyjnych (na przykład hasła bazy danych Azure MySQL) w usłudze App Service. Ten sam kod używa ustawień programowania podczas lokalnego debugowania i używa wpisów tajnych produkcyjnych podczas wdrażania na platformie Azure.
Inne stosy języków, podobnie, pobierają ustawienia aplikacji jako zmienne środowiskowe w czasie wykonywania. Aby zapoznać się z krokami specyficznymi dla stosu językowego, zobacz:
Ustawienia aplikacji są zawsze szyfrowane podczas przechowywania (szyfrowane w spoczynku).
Uwaga
Jeśli przechowujesz wpisy tajne w ustawieniach aplikacji, rozważ użycie odwołań usługi Key Vault. Jeśli wpisy tajne są przeznaczone do łączności z zasobami zaplecza, rozważ bardziej bezpieczne opcje łączności, które w ogóle nie wymagają wpisów tajnych. Aby uzyskać więcej informacji, zobacz Zabezpieczanie łączności z usługami i bazami danych platformy Azure z usługi aplikacja systemu Azure Service.
W witrynie Azure Portal wyszukaj i wybierz pozycję App Services, a następnie wybierz aplikację.
W menu po lewej stronie aplikacji wybierz pozycję Zmienne środowiskowe>Ustawienia aplikacji.
Wartości ustawień aplikacji są domyślnie ukryte w portalu ze względów bezpieczeństwa. Aby wyświetlić ukrytą wartość ustawienia aplikacji, wybierz jego pole Wartość . Aby wyświetlić ukryte wartości wszystkich ustawień aplikacji, wybierz przycisk Pokaż wartości .
Aby dodać nowe ustawienie aplikacji, wybierz pozycję Dodaj. Aby edytować ustawienie, kliknij ustawienie.
W oknie dialogowym możesz trzymać ustawienie na bieżące miejsce.
Uwaga
W domyślnej usłudze aplikacji systemu Linux lub niestandardowym kontenerze systemu Linux każda zagnieżdżona struktura klucza JSON w nazwie ustawienia aplikacji, na przykład
ApplicationInsights:InstrumentationKey
musi być skonfigurowana w usłudze App Service jakoApplicationInsights__InstrumentationKey
nazwę klucza. Innymi słowy, każdy:
element powinien zostać zastąpiony znakiem__
(podwójne podkreślenie). Wszystkie kropki w nazwie ustawienia aplikacji zostaną zastąpione znakiem_
(pojedyncze podkreślenie).Po zakończeniu wybierz pozycję Zastosuj. Nie zapomnij wybrać pozycji Zastosuj z powrotem na stronie Zmienne środowiskowe.
Zbiorcze edytowanie ustawień aplikacji
Wybierz przycisk Edytuj zaawansowane. Edytuj ustawienia w obszarze tekstowym. Po zakończeniu wybierz przycisk OK. Nie zapomnij wybrać pozycji Zastosuj z powrotem na stronie Zmienne środowiskowe.
Ustawienia aplikacji mają następujące formatowanie JSON:
[
{
"name": "<key-1>",
"value": "<value-1>",
"slotSetting": false
},
{
"name": "<key-2>",
"value": "<value-2>",
"slotSetting": false
},
...
]
Konfigurowanie parametrów połączenia
Uwaga
Rozważ bardziej bezpieczne opcje łączności, które w ogóle nie wymagają wpisów tajnych połączenia. Aby uzyskać więcej informacji, zobacz Zabezpieczanie łączności z usługami i bazami danych platformy Azure z usługi aplikacja systemu Azure Service.
W przypadku deweloperów ASP.NET i ASP.NET Core ustawienie parametry połączenia w usłudze App Service przypomina ustawienie ich w <connectionStrings>
pliku Web.config, ale wartości ustawione w usłudze App Service zastępują te w pliku Web.config. Ustawienia programowania (na przykład plik bazy danych) można przechowywać w wpisach tajnych Web.config i produkcyjnych (na przykład poświadczeń usługi SQL Database) w usłudze App Service. Ten sam kod używa ustawień programowania podczas lokalnego debugowania i używa wpisów tajnych produkcyjnych podczas wdrażania na platformie Azure.
W przypadku innych stosów języków lepiej użyć ustawień aplikacji, ponieważ parametry połączenia wymagają specjalnego formatowania w kluczach zmiennych w celu uzyskania dostępu do wartości.
Uwaga
Istnieje jeden przypadek, w którym można użyć parametry połączenia zamiast ustawień aplikacji dla języków non-.NET: niektóre typy baz danych platformy Azure są tworzone wraz z aplikacją tylko wtedy, gdy skonfigurujesz parametry połączenia dla bazy danych w aplikacji usługi App Service. Aby uzyskać więcej informacji, zobacz Tworzenie niestandardowej kopii zapasowej. Jeśli nie potrzebujesz tej automatycznej kopii zapasowej, użyj ustawień aplikacji.
W czasie wykonywania parametry połączenia są dostępne jako zmienne środowiskowe, poprzedzone następującymi typami połączeń:
- SQLServer:
SQLCONNSTR_
- MySQL:
MYSQLCONNSTR_
- SQLAzure:
SQLAZURECONNSTR_
- Zwyczaj:
CUSTOMCONNSTR_
- PostgreSQL:
POSTGRESQLCONNSTR_
- Centrum powiadomień:
NOTIFICATIONHUBCONNSTR_
- Service Bus:
SERVICEBUSCONNSTR_
- Centrum zdarzeń:
EVENTHUBCONNSTR_
- Baza danych dokumentów:
DOCDBCONNSTR_
- Redis Cache:
REDISCACHECONNSTR_
Uwaga
Aplikacje platformy .NET przeznaczone dla bazy danych PostgreSQL, centrum powiadomień, usługi Service Bus, centrum zdarzeń, bazy danych dokumentów i pamięci podręcznej Redis cache powinny ustawić parametry połączenia na Wartość Niestandardowa jako obejście znanego problemu w elemencie .NET EnvironmentVariablesConfigurationProvider
Na przykład można uzyskać dostęp do parametry połączenia MySQL o nazwie connectionstring1 jako zmiennej środowiskowej MYSQLCONNSTR_connectionString1
. Aby zapoznać się z krokami specyficznymi dla stosu językowego, zobacz:
Parametry połączenia są zawsze szyfrowane podczas przechowywania (szyfrowane w spoczynku).
Uwaga
Parametry połączenia można również rozpoznać z usługi Key Vault przy użyciu odwołań usługi Key Vault.
W witrynie Azure Portal wyszukaj i wybierz pozycję App Services, a następnie wybierz aplikację.
W menu po lewej stronie aplikacji wybierz pozycję Zmienne środowiskowe>Parametry połączenia.
Domyślnie wartości parametry połączenia są ukryte w portalu pod kątem zabezpieczeń. Aby wyświetlić ukrytą wartość parametry połączenia, wybierz jego pole Wartość. Aby wyświetlić ukryte wartości wszystkich parametry połączenia, wybierz przycisk Pokaż wartość.
Aby dodać nowy parametry połączenia, wybierz pozycję Dodaj. Aby edytować parametry połączenia, wybierz parametry połączenia.
W oknie dialogowym możesz trzymać parametry połączenia do bieżącego miejsca.
Po zakończeniu wybierz pozycję Zastosuj. Nie zapomnij wybrać pozycji Zastosuj z powrotem na stronie Zmienne środowiskowe.
Zbiorcze edytowanie parametry połączenia
Wybierz przycisk Edytuj zaawansowane. Edytuj parametry połączenia w obszarze tekstowym. Po zakończeniu wybierz pozycję Zastosuj. Nie zapomnij wybrać pozycji Zastosuj z powrotem na stronie Zmienne środowiskowe.
Parametry połączenia mają następujące formatowanie JSON:
[
{
"name": "name-1",
"value": "conn-string-1",
"type": "SQLServer",
"slotSetting": false
},
{
"name": "name-2",
"value": "conn-string-2",
"type": "PostgreSQL",
"slotSetting": false
},
...
]
Konfigurowanie ustawień stosu języka
Skonfiguruj ustawienia ogólne
W witrynie Azure Portal wyszukaj i wybierz pozycję App Services, a następnie wybierz aplikację. W menu po lewej stronie aplikacji wybierz pozycję Ustawienia ogólne konfiguracji>.
W tym miejscu można skonfigurować niektóre typowe ustawienia aplikacji. Niektóre ustawienia wymagają skalowania w górę do wyższych warstw cenowych.
Ustawienia stosu: Stos oprogramowania do uruchamiania aplikacji, w tym wersje języka i zestawu SDK.
W przypadku aplikacji systemu Linux możesz wybrać wersję środowiska uruchomieniowego języka i ustawić opcjonalne polecenie uruchamiania lub plik polecenia uruchamiania.
Ustawienia platformy: umożliwia konfigurowanie ustawień platformy hostingu, w tym:
- Bitowość platformy: 32-bitowa lub 64-bitowa. Tylko w przypadku aplikacji systemu Windows.
- Stan FTP: zezwalaj tylko na ftps lub całkowicie wyłącza ftp.
- Wersja HTTP: ustaw wartość 2.0 , aby włączyć obsługę protokołu HTTPS/2 .
Uwaga
Większość nowoczesnych przeglądarek obsługuje tylko protokół HTTP/2 za pośrednictwem protokołu TLS, podczas gdy ruch nieszyfrowany nadal używa protokołu HTTP/1.1. Aby upewnić się, że przeglądarki klienckie łączą się z aplikacją przy użyciu protokołu HTTP/2, zabezpiecz niestandardową nazwę DNS. Aby uzyskać więcej informacji, zobacz Zabezpieczanie niestandardowej nazwy DNS przy użyciu powiązania TLS/SSL w usłudze aplikacja systemu Azure.
Gniazda internetowe: na przykład w przypadku ASP.NET SignalR lub socket.io.
Zawsze włączone: aplikacja jest ładowana nawet wtedy, gdy nie ma ruchu. Gdy ustawienie Zawsze włączone nie jest włączone (ustawienie domyślne), aplikacja zostanie zwolniona po 20 minutach bez żadnych żądań przychodzących. Zwolniona aplikacja może powodować duże opóźnienie dla nowych żądań ze względu na czas rozgrzewania. Po włączeniu funkcji Always On moduł równoważenia obciążenia frontonu wysyła żądanie GET do katalogu głównego aplikacji co pięć minut. Ważne jest, aby upewnić się, że to żądanie otrzyma odpowiedź 200 OK, aby upewnić się, że wszystkie operacje ponownego tworzenia obrazu są wykonywane poprawnie. Ciągłe polecenie ping uniemożliwia zwalnianie aplikacji.
Zawsze włączone jest wymagane w przypadku ciągłych zadań WebJob lub zadań WebJob, które są wyzwalane przy użyciu wyrażenia CRON.
Koligacja sesji: we wdrożeniu z wieloma wystąpieniami upewnij się, że klient jest kierowany do tego samego wystąpienia w czasie cyklu życia sesji. Tę opcję można ustawić na Wartość Wyłączone dla aplikacji bezstanowych.
Serwer proxy koligacji sesji: serwer proxy koligacji sesji można włączyć, jeśli aplikacja znajduje się za zwrotnym serwerem proxy (na przykład aplikacja systemu Azure Gateway lub Azure Front Door) i używasz domyślnej nazwy hosta. Domena pliku cookie koligacji sesji będzie zgodna z nazwą przekierowanego hosta z zwrotnego serwera proxy.
Tylko protokół HTTPS: po włączeniu cały ruch HTTP jest przekierowywany do protokołu HTTPS.
Minimalna wersja protokołu TLS: wybierz minimalną wersję szyfrowania TLS wymaganą przez aplikację.
Debugowanie: włącz zdalne debugowanie dla aplikacji ASP.NET, ASP.NET Core lub Node.js . Ta opcja wyłącza się automatycznie po 48 godzinach.
Przychodzące certyfikaty klienta: wymagają certyfikatów klienta w wzajemnym uwierzytelnianiu.
Konfigurowanie dokumentów domyślnych
To ustawienie dotyczy tylko aplikacji systemu Windows.
Domyślny dokument to strona internetowa wyświetlana pod głównym adresem URL aplikacji usługi App Service. Jest używany pierwszy pasujący plik na liście. Jeśli aplikacja używa modułów, które są kierowane na podstawie adresu URL zamiast obsługiwania zawartości statycznej, nie ma potrzeby tworzenia domyślnych dokumentów.
W witrynie Azure Portal wyszukaj i wybierz pozycję App Services, a następnie wybierz aplikację.
W menu po lewej stronie aplikacji wybierz pozycję Dokumenty domyślne konfiguracji>.
Aby dodać dokument domyślny, wybierz pozycję Nowy dokument. Aby usunąć dokument domyślny, wybierz pozycję Usuń po prawej stronie.
Mapuj ścieżkę adresu URL na katalog
Domyślnie usługa App Service uruchamia aplikację z katalogu głównego kodu aplikacji. Jednak niektóre struktury internetowe nie są uruchamiane w katalogu głównym. Na przykład platforma Laravel uruchamia się w podkatalogu public
. Taka aplikacja będzie dostępna na przykład pod http://contoso.com/public
adresem , ale zazwyczaj chcesz przekierować http://contoso.com
do public
katalogu. Jeśli plik startowy aplikacji znajduje się w innym folderze lub jeśli repozytorium ma więcej niż jedną aplikację, możesz edytować lub dodawać aplikacje wirtualne i katalogi.
Ważne
Katalog wirtualny do funkcji ścieżki fizycznej jest dostępny tylko w aplikacjach systemu Windows.
W witrynie Azure Portal wyszukaj i wybierz pozycję App Services, a następnie wybierz aplikację.
W menu po lewej stronie aplikacji wybierz pozycję Mapowania ścieżki konfiguracji>
Wybierz pozycję Nowa aplikacja wirtualna lub katalog.
- Aby zamapować katalog wirtualny na ścieżkę fizyczną, pozostaw zaznaczone pole wyboru Katalog . Określ katalog wirtualny i odpowiednią względną (fizyczną) ścieżkę do katalogu głównego witryny internetowej (
D:\home
). - Aby oznaczyć katalog wirtualny jako aplikację internetową, wyczyść pole wyboru Katalog .
- Aby zamapować katalog wirtualny na ścieżkę fizyczną, pozostaw zaznaczone pole wyboru Katalog . Określ katalog wirtualny i odpowiednią względną (fizyczną) ścieżkę do katalogu głównego witryny internetowej (
Wybierz przycisk OK. Nie zapomnij wybrać pozycji Zapisz na stronie Konfiguracja .
Konfigurowanie mapowań programu obsługi
W przypadku aplikacji systemu Windows można dostosować mapowania programu obsługi usług IIS oraz aplikacje wirtualne i katalogi. Mapowania programu obsługi umożliwiają dodawanie niestandardowych procesorów skryptów w celu obsługi żądań dla określonych rozszerzeń plików.
Aby dodać niestandardową procedurę obsługi:
W witrynie Azure Portal wyszukaj i wybierz pozycję App Services, a następnie wybierz aplikację.
W menu po lewej stronie aplikacji wybierz pozycję Mapowania ścieżki konfiguracji>.
Wybierz pozycję Nowe mapowanie programu obsługi. Skonfiguruj procedurę obsługi w następujący sposób:
- Rozszerzenie. Rozszerzenie pliku, które chcesz obsłużyć, takie jak *.php lub handler.fcgi.
- Procesor skryptów. Ścieżka bezwzględna procesora skryptu do Ciebie. Żądania do plików, które są zgodne z rozszerzeniem pliku, są przetwarzane przez procesor skryptu. Użyj ścieżki
D:\home\site\wwwroot
, aby odwołać się do katalogu głównego aplikacji. - Argumenty. Opcjonalne argumenty wiersza polecenia dla procesora skryptu.
Wybierz przycisk OK. Nie zapomnij wybrać pozycji Zapisz na stronie Konfiguracja .
Konfigurowanie kontenerów niestandardowych
- Konfigurowanie niestandardowego kontenera dla usługi Azure App Service
- Dodawanie magazynu niestandardowego dla aplikacji konteneryzowanej
Następne kroki
- Dokumentacja zmiennych środowiskowych i ustawień aplikacji
- Konfigurowanie niestandardowej nazwy domeny w usłudze Azure App Service
- Konfigurowanie środowisk przejściowych w usłudze Azure App Service
- Zabezpieczanie niestandardowej nazwy DNS przy użyciu powiązania TLS/SSL w usłudze aplikacja systemu Azure
- Włączanie dzienników diagnostycznych
- Skalowanie aplikacji w usłudze aplikacja systemu Azure Service
- Podstawy monitorowania w usłudze aplikacja systemu Azure
- Zmienianie ustawień applicationHost.config za pomocą elementu applicationHost.xdt