Konfigurace aplikace App Service
Poznámka:
Od 1. června 2024 budou mít všechny nově vytvořené aplikace App Service možnost vygenerovat jedinečný výchozí název hostitele pomocí zásad <app-name>-<random-hash>.<region>.azurewebsites.net
vytváření názvů . Stávající názvy aplikací zůstanou beze změny.
Příklad: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Další podrobnosti najdete v tématu Jedinečný výchozí název hostitele pro prostředek služby App Service.
Tento článek vysvětluje, jak nakonfigurovat běžná nastavení pro webové aplikace, mobilní back-end nebo aplikaci API. Informace o azure Functions najdete v referenčních informacích k nastavení aplikace pro Azure Functions.
Konfigurace nastavení aplikace
Poznámka:
- Názvy nastavení aplikace můžou obsahovat jenom písmena, číslice (0–9), tečky (.) a podtržítka (_).
- Speciální znaky v hodnotě nastavení aplikace musí být podle potřeby uchycené cílovým operačním systémem.
Například nastavení proměnné prostředí ve službě App Service Linux s hodnotou "pa$$w0rd\"
řetězce pro nastavení aplikace by mělo být: "pa\$\$w0rd\\"
V App Service jsou nastavení aplikace proměnné předané jako proměnné prostředí kódu aplikace. V případě linuxových aplikací a vlastních kontejnerů app Service předá do kontejneru nastavení aplikace pomocí --env
příznaku pro nastavení proměnné prostředí v kontejneru. V obou případech se vloží do prostředí vaší aplikace při spuštění aplikace. Když přidáte, odeberete nebo upravíte nastavení aplikace, služba App Service aktivuje restartování aplikace.
Pro vývojáře ASP.NET a ASP.NET Core se nastavení aplikace ve službě App Service podobá jejich nastavení v <appSettings>
souboru Web.config nebo appsettings.json, ale hodnoty ve službě App Service přepíšou hodnoty ve službě Web.config nebo appsettings.json. Nastavení vývoje (například místní heslo MySQL) můžete udržovat v souboru Web.config nebo appsettings.json a produkčních tajných kódů (například heslo databáze Azure MySQL) bezpečně ve službě App Service. Stejný kód používá nastavení vývoje při místním ladění a při nasazení do Azure používá vaše produkční tajné kódy.
Další sady jazyků také získají nastavení aplikace jako proměnné prostředí za běhu. Konkrétní kroky pro sadu jazyků najdete v následujících tématech:
Nastavení aplikace se vždy šifrují při uložení (zašifrované neaktivní uložená data).
Poznámka:
Pokud ukládáte tajné kódy do nastavení aplikace, zvažte použití odkazů na Key Vault. Pokud jsou vaše tajné kódy určené pro připojení k back-endovým prostředkům, zvažte bezpečnější možnosti připojení, které vůbec nevyžadují tajné kódy. Další informace najdete v tématu Zabezpečené připojení ke službám a databázím Azure ze služby Aplikace Azure Service.
Na webu Azure Portal vyhledejte a vyberte App Services a pak vyberte svou aplikaci.
V nabídce vlevo aplikace vyberte Nastavení aplikace proměnných>prostředí.
Ve výchozím nastavení jsou hodnoty nastavení aplikace na portálu z bezpečnostních důvodů skryté. Pokud chcete zobrazit skrytou hodnotu nastavení aplikace, vyberte její pole Hodnota . Pokud chcete zobrazit skryté hodnoty všech nastavení aplikace, vyberte tlačítko Zobrazit hodnoty .
Pokud chcete přidat nové nastavení aplikace, vyberte Přidat. Pokud chcete upravit nastavení, klikněte na nastavení.
V dialogovém okně můžete nastavení přilepit k aktuálnímu slotu.
Poznámka:
Ve výchozí službě Linux App Service nebo vlastním kontejneru Linuxu musí být každá vnořená struktura klíčů JSON v názvu nastavení aplikace, jako
ApplicationInsights:InstrumentationKey
by se pro název klíče nakonfigurovala ve službě App ServiceApplicationInsights__InstrumentationKey
. Jinými slovy, všechny:
by měly být nahrazeny (dvojitým__
podtržítkem). Všechna období v názvu nastavení aplikace se nahradí znakem_
(jedno podtržítko).Po dokončení vyberte Použít. Nezapomeňte vybrat Možnost Použít zpět na stránce Proměnné prostředí.
Hromadná úprava nastavení aplikace
Vyberte tlačítko Upřesnit úpravy. Upravte nastavení v textové oblasti. Po dokončení vyberte OK. Nezapomeňte vybrat Možnost Použít zpět na stránce Proměnné prostředí.
Nastavení aplikace má následující formátování JSON:
[
{
"name": "<key-1>",
"value": "<value-1>",
"slotSetting": false
},
{
"name": "<key-2>",
"value": "<value-2>",
"slotSetting": false
},
...
]
Konfigurace připojovacích řetězců
Poznámka:
Zvažte bezpečnější možnosti připojení, které nevyžadují tajné kódy připojení vůbec. Další informace najdete v tématu Zabezpečené připojení ke službám a databázím Azure ze služby Aplikace Azure Service.
Pro vývojáře ASP.NET a ASP.NET Core se nastavení připojovací řetězec ve službě App Service podobá jejich nastavení v <connectionStrings>
souboru Web.config, ale hodnoty, které jste nastavili ve službě App Service, přepíší hodnoty ve službě Web.config. Nastavení vývoje (například soubor databáze) můžete udržovat v souboru Web.config a produkčních tajných kódů (například přihlašovací údaje služby SQL Database) bezpečně ve službě App Service. Stejný kód používá nastavení vývoje při místním ladění a při nasazení do Azure používá vaše produkční tajné kódy.
U jiných jazykových zásobníků je lepší použít nastavení aplikace, protože připojovací řetězec vyžadují speciální formátování v klíčích proměnných, aby bylo možné získat přístup k hodnotám.
Poznámka:
Existuje jeden případ, kdy můžete místo nastavení aplikace pro non-.NET jazyky použít připojovací řetězec: Některé typy databází Azure se zálohují společně s aplikací jenom v případě, že nakonfigurujete připojovací řetězec pro databázi v aplikaci App Service. Další informace najdete v tématu Vytvoření vlastní zálohy. Pokud toto automatizované zálohování nepotřebujete, použijte nastavení aplikace.
Za běhu jsou připojovací řetězec k dispozici jako proměnné prostředí s předponou následující typy připojení:
- SQLServer:
SQLCONNSTR_
- MySQL:
MYSQLCONNSTR_
- SQLAzure:
SQLAZURECONNSTR_
- Zvyk:
CUSTOMCONNSTR_
- PostgreSQL:
POSTGRESQLCONNSTR_
- Centrum oznámení:
NOTIFICATIONHUBCONNSTR_
- Service Bus:
SERVICEBUSCONNSTR_
- Centrum událostí:
EVENTHUBCONNSTR_
- Databáze dokumentů:
DOCDBCONNSTR_
- Redis Cache:
REDISCACHECONNSTR_
Poznámka:
Aplikace .NET, které cílí na PostgreSQL, Notification Hub, Service Bus, Event Hub, Document Db a Redis Cache, by měly nastavit připojovací řetězec na vlastní jako alternativní řešení známého problému v .NET EnvironmentVariablesConfigurationProvider.
Například připojovací řetězec MySQL s názvem connectionstring1 lze získat přístup jako proměnná MYSQLCONNSTR_connectionString1
prostředí . Konkrétní kroky pro sadu jazyků najdete v následujících tématech:
Připojovací řetězce jsou při uložení vždy šifrované (zašifrované neaktivní).
Poznámka:
Připojovací řetězce je možné také přeložit ze služby Key Vault pomocí odkazů na službu Key Vault.
Na webu Azure Portal vyhledejte a vyberte App Services a pak vyberte svou aplikaci.
V levé nabídce aplikace vyberte Připojovací řetězce proměnných> prostředí.
Ve výchozím nastavení jsou hodnoty pro připojovací řetězec skryté na portálu pro zabezpečení. Pokud chcete zobrazit skrytou hodnotu připojovací řetězec, vyberte její pole Hodnota. Pokud chcete zobrazit skryté hodnoty všech připojovací řetězec, vyberte tlačítko Zobrazit hodnotu.
Pokud chcete přidat nový připojovací řetězec, vyberte Přidat. Pokud chcete upravit připojovací řetězec, vyberte připojovací řetězec.
V dialogovém okně můžete připojovací řetězec přichytit k aktuálnímu slotu.
Po dokončení vyberte Použít. Nezapomeňte vybrat Možnost Použít zpět na stránce Proměnné prostředí.
Hromadné úpravy připojovací řetězec
Vyberte tlačítko Upřesnit úpravy. Upravte připojovací řetězec v textové oblasti. Po dokončení vyberte Použít. Nezapomeňte vybrat Možnost Použít zpět na stránce Proměnné prostředí.
Připojovací řetězce mají následující formátování JSON:
[
{
"name": "name-1",
"value": "conn-string-1",
"type": "SQLServer",
"slotSetting": false
},
{
"name": "name-2",
"value": "conn-string-2",
"type": "PostgreSQL",
"slotSetting": false
},
...
]
Konfigurace nastavení zásobníku jazyka
Konfigurace obecných nastavení
Na webu Azure Portal vyhledejte a vyberte App Services a pak vyberte svou aplikaci. V nabídce vlevo aplikace vyberte Obecné nastavení konfigurace>.
Tady můžete pro aplikaci nakonfigurovat některá běžná nastavení. Některá nastavení vyžadují vertikální navýšení kapacity na vyšší cenové úrovně.
Nastavení zásobníku: Softwarový zásobník pro spuštění aplikace, včetně jazyka a verzí sady SDK.
V případě linuxových aplikací můžete vybrat verzi modulu runtime jazyka a nastavit volitelný spouštěcí příkaz nebo soubor spouštěcího příkazu.
Nastavení platformy: Umožňuje konfigurovat nastavení hostitelské platformy, včetně:
- Bitová verze platformy: 32bitová nebo 64bitová. Jenom pro aplikace pro Windows.
- Stav FTP: Povolte jenom FTPS nebo úplně zakažte FTP.
- Verze HTTP: Pokud chcete povolit podporu protokolu HTTPS/2, nastavte na hodnotu 2.0.
Poznámka:
Většina moderních prohlížečů podporuje protokol HTTP/2 pouze přes protokol TLS, zatímco nešifrovaný provoz nadále používá protokol HTTP/1.1. Pokud chcete zajistit, aby se klientské prohlížeče připojily k vaší aplikaci pomocí protokolu HTTP/2, zabezpečte vlastní název DNS. Další informace najdete v tématu Zabezpečení vlastního názvu DNS pomocí vazby TLS/SSL ve službě Aplikace Azure Service.
Webové sokety: Například pro ASP.NET SignalR nebo socket.io.
AlwaysOn: Aplikace se načte i v případě, že neexistuje žádný provoz. Pokud funkce AlwaysOn není zapnutá (výchozí), aplikace se uvolní po 20 minutách bez příchozích požadavků. Uvolněná aplikace může způsobit vysokou latenci nových požadavků kvůli době zahřátí. Když je zapnutá funkce AlwaysOn , front-endový nástroj pro vyrovnávání zatížení každých pět minut odešle do kořenového adresáře aplikace požadavek GET. Je důležité zajistit, aby tento požadavek obdržel odpověď 200 OK, aby se zajistilo, že se všechny operace opětovného vytvoření image provádějí správně. Průběžný příkaz ping zabrání uvolnění aplikace.
Funkce AlwaysOn se vyžaduje pro průběžné webové úlohy nebo pro WebJobs, které se aktivují pomocí výrazu CRON.
Spřažení relací: V nasazení s více instancemi se ujistěte, že je klient směrován na stejnou instanci po dobu životnosti relace. Tuto možnost můžete nastavit na Vypnuto pro bezstavové aplikace.
Proxy spřažení relací: Proxy spřažení relací se dá zapnout, pokud je vaše aplikace za reverzním proxy serverem (například Aplikace Azure lication Gateway nebo Azure Front Door) a používáte výchozí název hostitele. Doména souboru cookie spřažení relace bude odpovídat předanému názvu hostitele z reverzního proxy serveru.
Pouze HTTPS: Při povolení se veškerý provoz HTTP přesměruje na HTTPS.
Minimální verze protokolu TLS: Vyberte minimální verzi šifrování TLS požadovanou vaší aplikací.
Ladění: Povolte vzdálené ladění pro aplikace ASP.NET, ASP.NET Core nebo Node.js . Tato možnost se automaticky vypne po 48 hodinách.
Příchozí klientské certifikáty: Vyžadují klientské certifikáty při vzájemném ověřování.
Konfigurace výchozích dokumentů
Toto nastavení platí jenom pro aplikace pro Windows.
Výchozí dokument je webová stránka, která se zobrazuje na kořenové adrese URL aplikace App Service. Použije se první odpovídající soubor v seznamu. Pokud aplikace používá moduly, které se směrují na základě adresy URL místo obsluhy statického obsahu, není nutné používat výchozí dokumenty.
Na webu Azure Portal vyhledejte a vyberte App Services a pak vyberte svou aplikaci.
V levé nabídce aplikace vyberte Výchozí dokumenty konfigurace>.
Pokud chcete přidat výchozí dokument, vyberte Nový dokument. Pokud chcete odebrat výchozí dokument, vyberte Odstranit napravo.
Mapování cesty URL k adresáři
Služba App Service ve výchozím nastavení spustí aplikaci z kořenového adresáře kódu vaší aplikace. Některé webové architektury se ale nespouštějí v kořenovém adresáři. Například Laravel začíná v podadresáři public
. Taková aplikace by byla přístupná například na http://contoso.com/public
adrese , ale obvykle chcete směrovat http://contoso.com
do public
adresáře. Pokud je spouštěcí soubor vaší aplikace v jiné složce nebo pokud má vaše úložiště více než jednu aplikaci, můžete upravit nebo přidat virtuální aplikace a adresáře.
Důležité
Virtuální adresář pro funkci fyzické cesty je k dispozici pouze v aplikacích pro Windows.
Na webu Azure Portal vyhledejte a vyberte App Services a pak vyberte svou aplikaci.
V levé nabídce aplikace vyberte mapování cest konfigurace>.
Vyberte Nová virtuální aplikace nebo adresář.
- Pokud chcete mapovat virtuální adresář na fyzickou cestu, nechte políčko Adresář zaškrtnuté. Zadejte virtuální adresář a odpovídající relativní (fyzickou) cestu ke kořenovému adresáři webu (
D:\home
). - Pokud chcete virtuální adresář označit jako webovou aplikaci, zrušte zaškrtnutí políčka Adresář .
- Pokud chcete mapovat virtuální adresář na fyzickou cestu, nechte políčko Adresář zaškrtnuté. Zadejte virtuální adresář a odpovídající relativní (fyzickou) cestu ke kořenovému adresáři webu (
Vyberte OK. Nezapomeňte vybrat Uložit na stránce Konfigurace .
Konfigurace mapování obslužných rutin
U aplikací pro Windows můžete přizpůsobit mapování obslužných rutin služby IIS a virtuální aplikace a adresáře. Mapování obslužných rutin umožňují přidat vlastní procesory skriptů pro zpracování požadavků na konkrétní přípony souborů.
Přidání vlastní obslužné rutiny:
Na webu Azure Portal vyhledejte a vyberte App Services a pak vyberte svou aplikaci.
V levé nabídce aplikace vyberte mapování cest konfigurace>.
Vyberte Nové mapování obslužné rutiny. Obslužnou rutinu nakonfigurujte následujícím způsobem:
- Rozšíření. Přípona souboru, kterou chcete zpracovat, například *.php nebo handler.fcgi.
- Procesor skriptů. Absolutní cesta procesoru skriptů k vám. Požadavky na soubory, které odpovídají příponě souboru, zpracovává procesor skriptu. Pomocí cesty
D:\home\site\wwwroot
můžete odkazovat na kořenový adresář vaší aplikace. - Argumenty. Volitelné argumenty příkazového řádku pro procesor skriptu.
Vyberte OK. Nezapomeňte vybrat Uložit na stránce Konfigurace .
Konfigurace vlastních kontejnerů
- Konfigurace vlastního kontejneru pro službu Azure App Service
- Přidání vlastního úložiště pro kontejnerizovanou aplikaci
Další kroky
- Referenční informace k proměnným prostředí a nastavením aplikace
- Konfigurace vlastní domény ve službě Azure App Service
- Nastavení přípravných prostředí ve službě Azure App Service
- Zabezpečení vlastního názvu DNS pomocí vazby TLS/SSL ve službě Aplikace Azure Service
- Povolení diagnostických protokolů
- Škálování aplikace ve službě Aplikace Azure Service
- Základy monitorování ve službě Aplikace Azure Service
- Změna nastavení applicationHost.config pomocí applicationHost.xdt