Konfigurieren einer App Service-App

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

App-Einstellungen 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.

    Search for App Services

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

    Application Settings

    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. Wählen Sie zum Hinzufügen einer neuen App-Einstellung die Option Neue Anwendungseinstellung aus. Um eine Einstellung zu bearbeiten, wählen Sie die Schaltfläche Bearbeiten auf der rechten Seite aus.

  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 Aktualisieren aus, wenn Sie fertig sind. Vergessen Sie nicht, Speichern auszuwählen, wenn Sie wieder auf der Seite Konfiguration sind.

Bearbeiten von App-Einstellungen in Massen

Wählen Sie die Schaltfläche Erweiterte Bearbeitung aus. Bearbeiten Sie die Einstellungen im Textbereich. Wählen Sie Aktualisieren aus, wenn Sie fertig sind. Vergessen Sie nicht, Speichern auszuwählen, wenn Sie wieder auf der Seite Konfiguration sind.

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

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>Anwendungseinstellungen aus.

Application Settings

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_

Hinweis

.NET-Apps für PostgreSQL sollten die Verbindungszeichenfolge auf Benutzerdefiniert als Problemumgehung für .NET EnvironmentVariablesConfigurationProvider festlegen

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.

    Search for App Services

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

    Application Settings

    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 die Option Neue Verbindungszeichenfolge aus. Wählen Sie zum Bearbeiten einer Verbindungszeichenfolge auf der rechten Seite die Schaltfläche Bearbeiten aus.

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

  5. Wählen Sie Aktualisieren aus, wenn Sie fertig sind. Vergessen Sie nicht, Speichern auszuwählen, wenn Sie wieder auf der Seite Konfiguration sind.

Massenbearbeitung von Verbindungszeichenfolgen

Wählen Sie die Schaltfläche Erweiterte Bearbeitung aus. Bearbeiten Sie die Verbindungszeichenfolgen im Textbereich. Wählen Sie Aktualisieren aus, wenn Sie fertig sind. Vergessen Sie nicht, Speichern auszuwählen, wenn Sie wieder auf der Seite Konfiguration sind.

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.

General settings

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.

    General settings for Linux containers

  • 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. 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.

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

    • 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.

    Default documents

  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.

    Directory check box

  4. Wählen Sie OK aus.

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.

    Path mappings

  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. Klicken Sie auf OK.

Konfigurieren eines benutzerdefinierten Containers

Nächste Schritte