Konfigurieren einer App Service-App

Hinweis

Ab dem 1. Juni 2024 haben alle neu erstellten App Service-Apps die Möglichkeit, einen eindeutigen Standardhostnamen mit der Namenskonvention <app-name>-<random-hash>.<region>.azurewebsites.net zu erstellen. Vorhandene App-Namen bleiben unverändert.

Beispiel: myapp-ds27dh7271aah175.westus-01.azurewebsites.net

Ausführlichere Informationen finden Sie unter Eindeutiger Standardhostname für App Service-Ressourcen.

In diesem Artikel wird erläutert, wie Sie allgemeine Einstellungen für Web-Apps, ein mobiles Back-End oder eine API-App konfigurieren. Informationen zu Azure Functions finden Sie unter Referenz zu App-Einstellungen für Azure Functions.

Konfigurieren von App-Einstellungen

Hinweis

  • Namen von App-Einstellungen dürfen nur Buchstaben, Ziffern (0–9), Punkte („.“) und Unterstriche („_“) enthalten.
  • Sonderzeichen im Wert einer App-Einstellung müssen je nach Anforderungen des Zielbetriebssystems mit Escapezeichen versehen werden.

Um beispielsweise eine Umgebungsvariable in App Service unter Linux mit dem Wert "pa$$w0rd\" festzulegen, sollte die Zeichenfolge für die App-Einstellung wie folgt lauten: "pa\$\$w0rd\\".

In App Service handelt es sich bei App-Einstellungen um Variablen, die als Umgebungsvariablen an den Anwendungscode übergeben werden. Bei Linux-Apps und benutzerdefinierten Containern übergibt App Service mithilfe des Flags --env App-Einstellungen an den Container, um die Umgebungsvariable im Container festzulegen. In beiden Fällen werden sie beim Start der App in Ihre App-Umgebung eingeschleust. Wenn Sie App-Einstellungen hinzufügen, entfernen oder bearbeiten, löst App Service einen App-Neustart aus.

Für ASP.NET- und ASP.NET Core-Entwickler entspricht die Festlegung von App-Einstellungen in App Service der Festlegung in <appSettings> in Web.config oder appsettings.json, aber die Werte in App Service überschreiben die in Web.config oder appsettings.json. Sie können Entwicklungseinstellungen (z. B. das lokale MySQL-Kennwort) in Web.config oder appsettings.json und Produktionsgeheimnisse (z. B. das Azure MySQL-Datenbank-Kennwort) sicher in App Service speichern. Der gleiche Code verwendet Ihre Entwicklungseinstellungen, wenn Sie lokal debuggen, und verwendet Ihre Produktionsgeheimnisse, wenn sie in Azure bereitgestellt werden.

Andere Sprachstapel erhalten die App-Einstellungen ebenfalls als Umgebungsvariablen zur Laufzeit. Sprachstapelspezifische Schritte finden Sie unter:

App-Einstellungen werden bei der Speicherung stets verschlüsselt (encrypted-at-rest).

Hinweis

Wenn Sie Geheimnisse in App-Einstellungen speichern, sollten Sie Key Vault-Verweise verwenden. Wenn Ihre Geheimnisse für die Verbindung zu Back-End-Ressourcen bestimmt sind, sollten Sie sicherere Verbindungsoptionen in Betracht ziehen, die überhaupt keine Geheimnisse erfordern. Weitere Informationen finden Sie unter Sichere Konnektivität mit Azure-Diensten und -Datenbanken aus Azure App Service.

  1. Suchen Sie im Azure-Portal die Option App Services, wählen Sie sie aus, und wählen Sie anschließend Ihre App aus.

    Suchen nach App Services

  2. Wählen Sie im linken Menü der App Umgebungsvariablen>App-Einstellungen aus.

    Screenshot: Navigieren zur Seite mit den App-Einstellungen.

    Standardmäßig werden Werte für App-Einstellungen aus Sicherheitsgründen im Portal ausgeblendet. Wählen Sie zum Anzeigen eines ausgeblendeten Werts einer App-Einstellung das zugehörige Wert-Feld aus. Wählen Sie zum Anzeigen der ausgeblendeten Werte aller App-Einstellungen die Schaltfläche Werte anzeigen aus.

  3. Um eine neue App-Einstellung hinzuzufügen, wählen Sie Hinzufügen aus. Um eine Einstellung zu bearbeiten, klicken Sie auf die Einstellung.

  4. Im Dialogfeld können Sie die Einstellung im aktuellen Slot beibehalten.

    Hinweis

    In einem standardmäßigen Linux-App Service oder einem benutzerdefinierten Linux-Container muss jede geschachtelte JSON-Schlüsselstruktur im App-Einstellungsnamen wie ApplicationInsights:InstrumentationKey in App Service als ApplicationInsights__InstrumentationKey für den Schlüsselnamen konfiguriert werden. Mit anderen Worten: Jedes : muss durch __ (doppelter Unterstrich) ersetzt werden. Alle Punkte im Namen der App-Einstellung werden durch einen _ (einzelnen Unterstrich) ersetzt.

  5. Wählen Sie abschließend Anwenden aus. Vergessen Sie nicht, Anwenden auszuwählen, wenn Sie sich wieder auf der Seite Umgebungsvariablen befinden.

Bearbeiten von App-Einstellungen in Massen

Wählen Sie die Schaltfläche Erweiterte Bearbeitung aus. Bearbeiten Sie die Einstellungen im Textbereich. Wenn Sie fertig sind, wählen Sie OK aus. Vergessen Sie nicht, Anwenden auszuwählen, wenn Sie sich wieder auf der Seite Umgebungsvariablen befinden.

App-Einstellungen haben folgende JSON-Formatierung:

[
  {
    "name": "<key-1>",
    "value": "<value-1>",
    "slotSetting": false
  },
  {
    "name": "<key-2>",
    "value": "<value-2>",
    "slotSetting": false
  },
  ...
]

Konfigurieren von Verbindungszeichenfolgen

Hinweis

Erwägen Sie sicherere Konnektivitätsoptionen, für die überhaupt keine Verbindungsgeheimnisse erforderlich sind. Weitere Informationen finden Sie unter Sichere Konnektivität mit Azure-Diensten und -Datenbanken aus Azure App Service.

Für ASP.NET- und ASP.NET Core-Entwickler entspricht die Einstellung von Verbindungszeichenfolgen in App Service der Einstellung in <connectionStrings> in Web.config, aber die Werte, die Sie in App Service festlegen, überschreiben die in Web.config. Sie können Entwicklungseinstellungen (z. B. eine Datenbankdatei) in Web.config und Produktionsgeheimnisse (z. B. SQL-Datenbank-Anmeldeinformationen) sicher in App Service beibehalten. Der gleiche Code verwendet Ihre Entwicklungseinstellungen, wenn Sie lokal debuggen, und verwendet Ihre Produktionsgeheimnisse, wenn sie in Azure bereitgestellt werden.

Für andere Sprachstapel sollten Sie stattdessen besser App-Einstellungen verwenden, da Verbindungszeichenfolgen spezielle Formatierung in den Variablenschlüsseln erfordern, um auf die Werte zuzugreifen.

Hinweis

In einem Fall sollten Sie Verbindungszeichenfolgen anstelle von App-Einstellungen für Nicht-.NET-Sprachen verwenden: bestimmte Azure-Datenbanktypen werden nur dann, wenn Sie eine Verbindungszeichenfolge für die Datenbank in Ihrer App Service-App konfigurieren, zusammen mit der App gesichert. Weitere Informationen finden Sie unter Erstellen eines benutzerdefinierten Backups. Wenn Sie diese automatisierte Sicherung nicht benötigen, verwenden Sie App-Einstellungen.

Zur Laufzeit stehen Verbindungszeichenfolgen als Umgebungsvariablen zur Verfügung, wobei sie mit Präfixen für die folgenden Verbindungstypen versehen werden:

  • SQLServer: SQLCONNSTR_
  • MySQL: MYSQLCONNSTR_
  • SQLAzure: SQLAZURECONNSTR_
  • Benutzerdefiniert: CUSTOMCONNSTR_
  • PostgreSQL: POSTGRESQLCONNSTR_
  • Notification Hub: NOTIFICATIONHUBCONNSTR_
  • Service Bus: SERVICEBUSCONNSTR_
  • Event Hub: EVENTHUBCONNSTR_
  • Document DB: DOCDBCONNSTR_
  • Redis Cache: REDISCACHECONNSTR_

Hinweis

.NET-Apps für PostgreSQL, Notification Hub, Service Bus, Event Hub, Document DB und Redis Cache sollten die Verbindungszeichenfolge auf Benutzerdefiniert festlegen, um ein bekanntes Problem in .NET EnvironmentVariablesConfigurationProvider zu umgehen.

Wenn beispielsweise eine MySQL-Verbindungszeichenfolge connectionstring1 heißt, kann sie über die Umgebungsvariable MYSQLCONNSTR_connectionString1 aufgerufen werden. Sprachstapelspezifische Schritte finden Sie unter:

Verbindungszeichenfolgen werden bei der Speicherung stets verschlüsselt (encrypted-at-rest).

Hinweis

Verbindungszeichenfolgen können auch über Key Vault mithilfe von Key Vault-Referenzen aufgelöst werden.

  1. Suchen Sie im Azure-Portal die Option App Services, wählen Sie sie aus, und wählen Sie anschließend Ihre App aus.

    Suchen nach App Services

  2. Wählen Sie im linken Menü der App Umgebungsvariablen>Verbindungszeichenfolgen aus.

    Screenshot: Benutzeroberfläche für Verbindungszeichenfolgen.

    Standardmäßig werden Werte für Verbindungszeichenfolgen aus Sicherheitsgründen im Portal ausgeblendet. Wählen Sie zum Anzeigen eines ausgeblendeten Werts einer Verbindungszeichenfolge das zugehörige Wert-Feld aus. Wählen Sie zum Anzeigen der ausgeblendeten Werte aller Verbindungszeichenfolgen die Schaltfläche Wert anzeigen aus.

  3. Um eine neue Verbindungszeichenfolge hinzuzufügen, wählen Sie Hinzufügen aus. Zum Bearbeiten einer Verbindungszeichenfolge wählen Sie die Verbindungszeichenfolge aus.

  4. Im Dialogfeld können Sie die Verbindungszeichenfolge im aktuellen Slot beibehalten.

  5. Wählen Sie abschließend Anwenden aus. Vergessen Sie nicht, Anwenden auszuwählen, wenn Sie sich wieder auf der Seite Umgebungsvariablen befinden.

Massenbearbeitung von Verbindungszeichenfolgen

Wählen Sie die Schaltfläche Erweiterte Bearbeitung aus. Bearbeiten Sie die Verbindungszeichenfolgen im Textbereich. Wählen Sie abschließend Anwenden aus. Vergessen Sie nicht, Anwenden auszuwählen, wenn Sie sich wieder auf der Seite Umgebungsvariablen befinden.

Verbindungszeichenfolgen haben folgende JSON-Formatierung:

[
  {
    "name": "name-1",
    "value": "conn-string-1",
    "type": "SQLServer",
    "slotSetting": false
  },
  {
    "name": "name-2",
    "value": "conn-string-2",
    "type": "PostgreSQL",
    "slotSetting": false
  },
  ...
]

Konfigurieren von Sprachstapeleinstellungen

Konfigurieren allgemeiner Einstellungen

Suchen Sie im Azure-Portal die Option App Services, wählen Sie sie aus, und wählen Sie anschließend Ihre App aus. Wählen Sie im linken Menü der App Konfiguration>Allgemeine Einstellungen aus.

Allgemeine Einstellungen

Hier können Sie einige allgemeine Einstellungen für die App konfigurieren. Einige Einstellungen erfordern das Hochskalieren auf höhere Tarife.

  • Stapeleinstellungen: Der Softwarestapel zum Ausführen der App, einschließlich der Sprach- und SDK-Version.

    Für Linux-Apps können Sie die Sprachlaufzeitversion auswählen und einen optionalen Startbefehl oder eine Startbefehlsdatei festlegen.

    Allgemeine Einstellungen für Linux-Container

  • Plattformeinstellungen: Ermöglicht das Konfigurieren von Einstellungen für die Hostingplattform, einschließlich:

    • Plattformbitanzahl: 32-Bit oder 64-Bit. Nur für Windows-Apps.
    • FTP-Zustand: Lassen Sie nur FTPS zu, oder deaktivieren Sie FTP vollständig.
    • HTTP-Version: Legen Sie die Einstellung auf 2.0 fest, um die Unterstützung für das HTTPS/2-Protokoll zu aktivieren.

    Hinweis

    Die aktuellen Browser unterstützen das HTTP/2-Protokoll in der Regel nur über TLS, während unverschlüsselter Datenverkehr weiterhin HTTP/1.1 verwendet. Um sicherzustellen, dass Clientbrowser eine Verbindung mit Ihrer App mit HTTP/2 herstellen, sichern Sie Ihren benutzerdefinierten DNS-Namen. Weitere Informationen finden Sie unter Schützen eines benutzerdefinierten DNS-Namens mit einer TLS/SSL-Bindung in Azure App Service.

    • Web-Sockets: Beispielsweise für ASP.NET SignalR oder socket.io.

    • Always On: Hält die App auch dann geladen, wenn kein Datenverkehr stattfindet. Wenn Always On nicht aktiviert ist (Standard), wird die App nach 20 Minuten ohne eingehende Anforderungen entladen. Die entladene App kann aufgrund ihrer Aufwärmzeit zu hoher Latenz für neue Anforderungen führen. Wenn Always On aktiviert ist, sendet der Front-End-Lastenausgleich alle fünf Minuten eine GET-Anforderung an den Anwendungsstamm. Es ist wichtig, dass diese Anforderung eine Antwort vom Typ „200 OK“ erhält, um sicherzustellen, dass alle Reimagingvorgänge ordnungsgemäß ausgeführt werden. Der fortlaufende Ping verhindert, dass die App entladen wird.

      AlwaysOn ist für fortlaufende WebJobs oder WebJobs, die mithilfe eines CRON-Ausdrucks ausgelöst werden, erforderlich.

    • Sitzungsaffinität: In einer Bereitstellung mit mehreren Instanzen stellen Sie sicher, dass der Client für die Lebensdauer der Sitzung an dieselbe Instanz weitergeleitet wird. Sie können für zustandslose Anwendungen für diese Option Aus festlegen.

    • Proxy für Sitzungsaffinität: Der Proxy für die Sitzungsaffinität kann aktiviert werden, wenn sich Ihre App hinter einem Reverseproxy (z. B. Azure Application Gateway oder Azure Front Door) befindet und Sie den Standardhostnamen verwenden. Die Domäne für das Cookie für die Sitzungsaffinität richtet sich nach dem weitergeleiteten Hostnamen vom Reverseproxy.

    • Nur HTTPS: Wenn aktiviert, wird der gesamte HTTP-Datenverkehr an HTTPS umgeleitet.

    • Mindest-TLS-Version: Wählen Sie die Mindestversion der TLS-Verschlüsselung aus, die für Ihre App erforderlich ist.

  • Debuggen: Aktivieren Sie das Remotedebuggen für ASP.NET-, ASP.NET Core- oder Node.js-Apps. Diese Option wird nach 48 Stunden automatisch deaktiviert.

  • Eingehende Clientzertifikate: erforderliche Clientzertifikate bei gegenseitiger Authentifizierung.

Konfigurieren von Standarddokumenten

Diese Einstellung gilt nur für Windows-Apps.

Das Standarddokument ist die Webseite, die unter der Stamm-URL einer App Service-App angezeigt wird. Die erste übereinstimmende Datei in der Liste wird verwendet. Wenn die App Module verwendet, die auf Grundlage der URL weiterleiten, anstatt statischen Inhalt bereitzustellen, besteht keine Notwendigkeit für Standarddokumente.

  1. Suchen Sie im Azure-Portal die Option App Services, wählen Sie sie aus, und wählen Sie anschließend Ihre App aus.

  2. Wählen Sie im linken Menü der App Konfiguration>Standarddokumente aus.

    Standarddokumente

  3. Wählen Sie zum Hinzufügen eines Standarddokuments die Option Neues Dokument aus. Wählen Sie zum Entfernen eines Standarddokuments rechts neben dem Dokument Löschen aus.

Zuordnen eines URL-Pfads zu einem Verzeichnis

Standardmäßig startet App Service die App aus dem Stammverzeichnis des App-Codes. Manche Webframeworks starten jedoch nicht im Stammverzeichnis. Laravel startet beispielsweise im Unterverzeichnis public. Auf eine solche App kann zwar z. B. unter http://contoso.com/public zugegriffen werden, normalerweise empfiehlt es sich aber, http://contoso.com stattdessen an das Verzeichnis public weiterzuleiten. Wenn sich die Startdatei der App in einem anderen Ordner befindet oder das Repository über mehrere Anwendungen verfügt, können Sie virtuelle Anwendungen und Verzeichnisse bearbeiten oder hinzufügen.

Wichtig

Das Feature für ein virtuelles Verzeichnis in einem physischen Pfad ist nur in Windows-Apps verfügbar.

  1. Suchen Sie im Azure-Portal die Option App Services, wählen Sie sie aus, und wählen Sie anschließend Ihre App aus.

  2. Wählen Sie im linken Menü der App Konfiguration>Pfadzuordnungen aus.

  3. Wählen Sie Neue virtuelle Anwendung oder neues virtuelles Verzeichnis aus.

    • Wenn Sie ein virtuelles Verzeichnis einem physischen Pfad zuordnen möchten, lassen Sie das Kontrollkästchen Verzeichnis aktiviert. Geben Sie das virtuelle Verzeichnis und den entsprechenden relativen (physischen) Pfad zum Stammverzeichnis der Website an (D:\home).
    • Wenn Sie ein virtuelles Verzeichnis als Webanwendung markieren möchten, deaktivieren Sie das Kontrollkästchen Verzeichnis.

    Kontrollkästchen „Verzeichnis“

  4. Wählen Sie OK aus. Vergessen Sie nicht, Speichern auf der Seite Konfiguration auszuwählen.

Konfigurieren von Handlerzuordnungen

Für Windows-Apps können Sie die IIS-Handlerzuordnungen und virtuelle Anwendungen und Verzeichnisse anpassen. Mit Handlerzuordnungen können Sie benutzerdefinierte Skriptprozessoren hinzufügen, die Anforderungen für bestimmte Dateierweiterungen verarbeiten.

So fügen Sie einen benutzerdefinierten Handler hinzu

  1. Suchen Sie im Azure-Portal die Option App Services, wählen Sie sie aus, und wählen Sie anschließend Ihre App aus.

  2. Wählen Sie im linken Menü der App Konfiguration>Pfadzuordnungen aus.

    Pfadzuordnungen

  3. Wählen Sie Neue Handlerzuordnung aus. Konfigurieren Sie den Handler folgendermaßen:

    • Erweiterung. Die Dateierweiterung, die Sie verarbeiten möchten, z. B. *.php oder handler.fcgi.
    • Skriptprozessor. Der absolute Pfad des Skriptprozessors zu Ihnen. Anforderungen für Dateien, die dieser Dateierweiterung entsprechen, werden vom Skriptprozessor verarbeitet. Verwenden Sie den Pfad D:\home\site\wwwroot , um auf das Stammverzeichnis Ihrer App zu verweisen.
    • Argumente. Optionale Befehlszeilenargumente für den Skriptprozessor.
  4. Wählen Sie OK aus. Vergessen Sie nicht, Speichern auf der Seite Konfiguration auszuwählen.

Konfigurieren eines benutzerdefinierten Containers

Nächste Schritte