Een App Service-app configureren
Notitie
Vanaf 1 juni 2024 hebben alle nieuw gemaakte App Service-apps de mogelijkheid om een unieke standaardhostnaam te genereren met behulp van de naamconventie <app-name>-<random-hash>.<region>.azurewebsites.net
. Bestaande app-namen blijven ongewijzigd.
Voorbeeld: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Raadpleeg de unieke standaardhostnaam voor App Service-resource voor meer informatie.
In dit artikel wordt uitgelegd hoe u algemene instellingen configureert voor web-apps, mobiele back-end- of API-apps. Zie voor Azure Functions de naslaginformatie over app-instellingen voor Azure Functions.
App-instellingen configureren
Notitie
- Namen van app-instellingen mogen alleen letters, cijfers (0-9), punten (".") en onderstrepingstekens ("_") bevatten
- Speciale tekens in de waarde van een app-instelling moeten indien nodig worden ontsnapt door het doelbesturingssystem
Als u bijvoorbeeld een omgevingsvariabele in App Service Linux wilt instellen met de waarde "pa$$w0rd\"
die de tekenreeks voor de app-instelling moet zijn: "pa\$\$w0rd\\"
In App Service zijn app-instellingen variabelen die als omgevingsvariabelen worden doorgegeven aan de toepassingscode. Voor Linux-apps en aangepaste containers geeft App Service app-instellingen door aan de container met behulp van de --env
vlag om de omgevingsvariabele in de container in te stellen. In beide gevallen worden ze bij het opstarten van de app in uw app-omgeving geïnjecteerd. Wanneer u app-instellingen toevoegt, verwijdert of bewerkt, activeert App Service het opnieuw opstarten van een app.
Voor ASP.NET- en ASP.NET Core-ontwikkelaars zijn het instellen van app-instellingen in App Service als het instellen ervan in <appSettings>
Web.config of appsettings.json, maar de waarden in App Service overschrijven de waarden in Web.config of appsettings.json. U kunt ontwikkelinstellingen (bijvoorbeeld lokaal MySQL-wachtwoord) bewaren in Web.config of appsettings.json en productiegeheimen (bijvoorbeeld azure MySQL-databasewachtwoord) veilig in App Service. Dezelfde code maakt gebruik van uw ontwikkelinstellingen wanneer u lokaal fouten opssport en uw productiegeheimen gebruikt wanneer deze in Azure wordt geïmplementeerd.
Andere taalstacks krijgen ook de app-instellingen als omgevingsvariabelen tijdens runtime. Zie voor specifieke stappen voor taalstack:
App-instellingen worden altijd versleuteld wanneer ze worden opgeslagen (versleuteld-at-rest).
Notitie
Als u geheimen opslaat in app-instellingen, kunt u key Vault-verwijzingen gebruiken. Als uw geheimen betrekking hebben op connectiviteit met back-endresources, kunt u beter beveiligde connectiviteitsopties overwegen waarvoor helemaal geen geheimen nodig zijn. Zie Secure connectivity to Azure services and databases from Azure-app Service (Beveiligde connectiviteit met Azure-services en -databases) voor meer informatie.
Zoek en selecteer App Services in Azure Portal en selecteer vervolgens uw app.
Selecteer in het linkermenu van de app de app-instellingen voor omgevingsvariabelen>.
Standaard worden waarden voor app-instellingen verborgen in de portal om veiligheidsredenen. Als u een verborgen waarde van een app-instelling wilt zien, selecteert u het veld Waarde . Als u de verborgen waarden van alle app-instellingen wilt zien, selecteert u de knop Waarden weergeven .
Als u een nieuwe app-instelling wilt toevoegen, selecteert u Toevoegen. Als u een instelling wilt bewerken, klikt u op de instelling.
In het dialoogvenster kunt u de instelling op de huidige sleuf plakken.
Notitie
In een standaard-Linux-app-service of een aangepaste Linux-container moet elke geneste JSON-sleutelstructuur in de naam
ApplicationInsights:InstrumentationKey
van de app-instelling worden geconfigureerd in App Service, net alsApplicationInsights__InstrumentationKey
voor de sleutelnaam. Met andere woorden, elke:
moet worden vervangen door__
(dubbele onderstrepingsteken). Eventuele punten in de naam van de app-instelling worden vervangen door een_
(enkel onderstrepingsteken).Wanneer u klaar bent, selecteert u Toepassen. Vergeet niet om Toepassen terug te selecteren op de pagina Omgevingsvariabelen.
App-instellingen bulksgewijs bewerken
Selecteer de knop Geavanceerd bewerken . Bewerk de instellingen in het tekstgebied. Wanneer u klaar bent, selecteert u OK. Vergeet niet om Toepassen terug te selecteren op de pagina Omgevingsvariabelen.
App-instellingen hebben de volgende JSON-opmaak:
[
{
"name": "<key-1>",
"value": "<value-1>",
"slotSetting": false
},
{
"name": "<key-2>",
"value": "<value-2>",
"slotSetting": false
},
...
]
Verbindingsreeksen configureren
Notitie
Overweeg veiligere connectiviteitsopties die helemaal geen verbindingsgeheimen vereisen. Zie Secure connectivity to Azure services and databases from Azure-app Service (Beveiligde connectiviteit met Azure-services en -databases) voor meer informatie.
Voor ASP.NET- en ASP.NET Core-ontwikkelaars zijn het instellen van verbindingsreeks s in App Service hetzelfde als het instellen ervan in <connectionStrings>
Web.config, maar de waarden die u hebt ingesteld in App Service overschrijven de waarden in Web.config. U kunt ontwikkelinstellingen (bijvoorbeeld een databasebestand) in Web.config en productiegeheimen (bijvoorbeeld SQL Database-referenties) veilig bewaren in App Service. Dezelfde code maakt gebruik van uw ontwikkelinstellingen wanneer u lokaal fouten opssport en uw productiegeheimen gebruikt wanneer deze in Azure wordt geïmplementeerd.
Voor andere taalstacks is het beter om in plaats daarvan app-instellingen te gebruiken, omdat verbindingsreeks speciale opmaak in de variabelesleutels nodig hebben om toegang te krijgen tot de waarden.
Notitie
Er is één geval waarin u verbindingsreeks s wilt gebruiken in plaats van app-instellingen voor non-.NET talen: er wordt alleen een back-up gemaakt van bepaalde Azure-databasetypen, samen met de app als u een verbindingsreeks voor de database in uw App Service-app configureert. Zie Een aangepaste back-up maken voor meer informatie. Als u deze automatische back-up niet nodig hebt, gebruikt u app-instellingen.
Tijdens runtime zijn verbindingsreeks beschikbaar als omgevingsvariabelen, voorafgegaan door de volgende verbindingstypen:
- SQLServer:
SQLCONNSTR_
- MySQL:
MYSQLCONNSTR_
- SQLAzure:
SQLAZURECONNSTR_
- Gewoonte:
CUSTOMCONNSTR_
- PostgreSQL:
POSTGRESQLCONNSTR_
- Notification Hub:
NOTIFICATIONHUBCONNSTR_
- Service Bus:
SERVICEBUSCONNSTR_
- Event Hub:
EVENTHUBCONNSTR_
- Documentdatabase:
DOCDBCONNSTR_
- Redis Cache:
REDISCACHECONNSTR_
Notitie
.NET-apps die gericht zijn op PostgreSQL, Notification Hub, Service Bus, Event Hub, Document Db en Redis Cache, moeten de verbindingsreeks instellen op Custom als tijdelijke oplossing voor een bekend probleem in .NET EnvironmentVariablesConfigurationProvider
Een MySQL-verbindingsreeks met de naam connectionstring1 kan bijvoorbeeld worden geopend als de omgevingsvariabeleMYSQLCONNSTR_connectionString1
. Zie voor specifieke stappen voor taalstack:
Verbindingsreeksen worden altijd versleuteld wanneer ze worden opgeslagen (versleuteld-at-rest).
Notitie
Verbindingsreeksen kunnen ook worden omgezet vanuit Key Vault met behulp van Key Vault-verwijzingen.
Zoek en selecteer App Services in Azure Portal en selecteer vervolgens uw app.
Selecteer in het linkermenu van de app de verbindingsreeksen voor omgevingsvariabelen>.
Standaard worden waarden voor verbindingsreeks s verborgen in de portal voor beveiliging. Als u een verborgen waarde van een verbindingsreeks wilt zien, selecteert u het veld Waarde. Als u de verborgen waarden van alle verbindingsreeks s wilt zien, selecteert u de knop Waarde weergeven.
Als u een nieuwe verbindingsreeks wilt toevoegen, selecteert u Toevoegen. Als u een verbindingsreeks wilt bewerken, selecteert u de verbindingsreeks.
In het dialoogvenster kunt u de verbindingsreeks aan de huidige sleuf plakken.
Wanneer u klaar bent, selecteert u Toepassen. Vergeet niet om Toepassen terug te selecteren op de pagina Omgevingsvariabelen.
Verbindingsreeks bulksgewijs bewerken
Selecteer de knop Geavanceerd bewerken . Bewerk de verbindingsreeks s in het tekstgebied. Wanneer u klaar bent, selecteert u Toepassen. Vergeet niet om Toepassen terug te selecteren op de pagina Omgevingsvariabelen.
Verbindingsreeksen hebben de volgende JSON-opmaak:
[
{
"name": "name-1",
"value": "conn-string-1",
"type": "SQLServer",
"slotSetting": false
},
{
"name": "name-2",
"value": "conn-string-2",
"type": "PostgreSQL",
"slotSetting": false
},
...
]
Taalstackinstellingen configureren
Algemene instellingen configureren
Zoek en selecteer App Services in Azure Portal en selecteer vervolgens uw app. Selecteer in het linkermenu van de app configuratie-algemene>instellingen.
Hier kunt u enkele algemene instellingen voor de app configureren. Voor sommige instellingen moet u omhoog schalen naar hogere prijscategorieën.
Stack-instellingen: de softwarestack voor het uitvoeren van de app, inclusief de taal- en SDK-versies.
Voor Linux-apps kunt u de versie van de taalruntime selecteren en een optionele opstartopdracht of een opstartopdrachtbestand instellen.
Platforminstellingen: Hiermee kunt u instellingen configureren voor het hostingplatform, waaronder:
- Platformbitness: 32-bits of 64-bits. Alleen voor Windows-apps.
- FTP-status: alleen FTPS toestaan of FTP helemaal uitschakelen.
- HTTP-versie: ingesteld op 2.0 om ondersteuning voor het HTTPS/2-protocol in te schakelen.
Notitie
De meeste moderne browsers ondersteunen alleen het HTTP/2-protocol via TLS, terwijl niet-versleuteld verkeer HTTP/1.1 blijft gebruiken. Beveilig uw aangepaste DNS-naam om ervoor te zorgen dat clientbrowsers verbinding maken met uw app met HTTP/2. Zie Een aangepaste DNS-naam beveiligen met een TLS/SSL-binding in Azure-app Service voor meer informatie.
Websockets: Bijvoorbeeld voor ASP.NET SignalR of socket.io.
Altijd ingeschakeld: houdt de app geladen, zelfs als er geen verkeer is. Wanneer AlwaysOn niet is ingeschakeld (standaard), wordt de app na 20 minuten verwijderd zonder binnenkomende aanvragen. De uitgepakte app kan een hoge latentie veroorzaken voor nieuwe aanvragen vanwege de opwarmtijd. Wanneer AlwaysOn is ingeschakeld, verzendt de front-end load balancer elke vijf minuten een GET-aanvraag naar de hoofdmap van de toepassing. De doorlopende ping voorkomt dat de app wordt verwijderd.
AlwaysOn is vereist voor continue webtaken of voor webtaken die worden geactiveerd met behulp van een CRON-expressie.
Sessieaffiniteit: Zorg ervoor dat de client in een implementatie met meerdere exemplaren gedurende de levensduur van de sessie naar hetzelfde exemplaar wordt gerouteerd. U kunt deze optie instellen op Uit voor staatloze toepassingen.
Proxy voor sessieaffiniteit: proxy voor sessieaffiniteit kan worden ingeschakeld als uw app zich achter een omgekeerde proxy bevindt (zoals Azure-toepassing Gateway of Azure Front Door) en u de standaardhostnaam gebruikt. Het domein voor de sessieaffiniteitscookie wordt afgestemd op de doorgestuurde hostnaam van de omgekeerde proxy.
Alleen HTTPS: als dit is ingeschakeld, wordt al het HTTP-verkeer omgeleid naar HTTPS.
Minimale TLS-versie: selecteer de minimale TLS-versleutelingsversie die is vereist voor uw app.
Foutopsporing: schakel externe foutopsporing in voor ASP.NET-, ASP.NET Core- of Node.js-apps . Deze optie wordt na 48 uur automatisch uitgeschakeld.
Binnenkomende clientcertificaten: clientcertificaten in wederzijdse verificatie vereisen.
Standaarddocumenten configureren
Deze instelling is alleen voor Windows-apps.
Het standaarddocument is de webpagina die wordt weergegeven in de hoofd-URL van een App Service-app. Het eerste overeenkomende bestand in de lijst wordt gebruikt. Als de app modules gebruikt die worden gerouteerd op basis van URL in plaats van statische inhoud te leveren, is er geen standaarddocumenten nodig.
Zoek en selecteer App Services in Azure Portal en selecteer vervolgens uw app.
Selecteer in het linkermenu van de app configuratiestandaarddocumenten>.
Als u een standaarddocument wilt toevoegen, selecteert u Nieuw document. Als u een standaarddocument wilt verwijderen, selecteert u Verwijderen rechts.
Een URL-pad toewijzen aan een map
Standaard start App Service uw app vanuit de hoofdmap van uw app-code. Bepaalde web-frameworks starten echter niet in de hoofdmap. Bijvoorbeeld: Laravel start in de submap public
. Een dergelijke app zou bijvoorbeeld toegankelijk zijn, http://contoso.com/public
maar u wilt meestal naar de public
map leidenhttp://contoso.com
. Als het opstartbestand van uw app zich in een andere map bevindt of als uw opslagplaats meer dan één toepassing heeft, kunt u virtuele toepassingen en mappen bewerken of toevoegen.
Belangrijk
Virtuele map naar een fysieke padfunctie is alleen beschikbaar in Windows-apps.
Zoek en selecteer App Services in Azure Portal en selecteer vervolgens uw app.
Selecteer >in het linkermenu van de app configuratiepadtoewijzingen
Selecteer Nieuwe virtuele toepassing of map.
- Als u een virtuele map wilt toewijzen aan een fysiek pad, laat u het selectievakje Map ingeschakeld. Geef de virtuele map en het bijbehorende relatieve (fysieke) pad op naar de hoofdmap van de website (
D:\home
). - Als u een virtuele map als webtoepassing wilt markeren, schakelt u het selectievakje Map uit.
- Als u een virtuele map wilt toewijzen aan een fysiek pad, laat u het selectievakje Map ingeschakeld. Geef de virtuele map en het bijbehorende relatieve (fysieke) pad op naar de hoofdmap van de website (
Selecteer OK. Vergeet niet opslaan te selecteren op de pagina Configuratie.
Handlertoewijzingen configureren
Voor Windows-apps kunt u de IIS-handlertoewijzingen en virtuele toepassingen en mappen aanpassen. Met handlertoewijzingen kunt u aangepaste scriptprocessors toevoegen om aanvragen voor specifieke bestandsextensies af te handelen.
Een aangepaste handler toevoegen:
Zoek en selecteer App Services in Azure Portal en selecteer vervolgens uw app.
Selecteer >in het linkermenu van de app configuratiepadtoewijzingen.
Selecteer Nieuwe handlertoewijzing. Configureer de handler als volgt:
- Extensie. De bestandsextensie die u wilt verwerken, zoals *.php of handler.fcgi.
- Scriptprocessor. Het absolute pad van de scriptprocessor naar u. Aanvragen voor bestanden die overeenkomen met de bestandsextensie worden verwerkt door de scriptprocessor. Gebruik het pad
D:\home\site\wwwroot
om te verwijzen naar de hoofdmap van uw app. - Argumenten. Optionele opdrachtregelargumenten voor de scriptprocessor.
Selecteer OK. Vergeet niet opslaan te selecteren op de pagina Configuratie.
Aangepaste containers configureren
- Een aangepaste container configureren voor Azure App Service
- Aangepaste opslag toevoegen voor uw container-app
Volgende stappen
- Naslaginformatie over omgevingsvariabelen en app-instellingen
- Een aangepaste domeinnaam configureren in Azure App Service
- Faseringsomgevingen in Azure App Service instellen
- Een aangepaste DNS-naam beveiligen met een TLS/SSL-binding in Azure App Service
- Diagnostische logboeken inschakelen
- Een app schalen in Azure-app Service
- Basisbeginselen bewaken in Azure-app Service
- ApplicationHost.config-instellingen wijzigen met applicationHost.xdt