

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Benutzerdefinierte Header für eine Amplify-App einrichten
<a name="custom-headers"></a>

Mit benutzerdefinierten HTTP-Headern können Sie Header für jede HTTP-Antwort angeben. Response-Header können für Debugging-, Sicherheits- und Informationszwecke verwendet werden. Sie können Header in der Amplify-Konsole angeben oder indem Sie die `customHttp.yml` Datei einer App herunterladen, bearbeiten und im Stammverzeichnis des Projekts speichern. Die detaillierten Schritte finden Sie unter [Benutzerdefinierte Header einrichten](setting-custom-headers.md).

Bisher wurden benutzerdefinierte HTTP-Header für eine App entweder durch Bearbeitung der Build-Spezifikation (Buildspec) in der Amplify-Konsole oder durch Herunterladen und Aktualisieren der `amplify.yml` Datei und Speichern im Stammverzeichnis des Projekts angegeben. Wir empfehlen dringend, auf diese Weise angegebene benutzerdefinierte Header aus der Buildspec und der Datei zu migrieren. `amplify.yml` Detaillierte Anweisungen finden Sie unter [Migrieren benutzerdefinierter Header aus der Build-Spezifikation und amplify.yml](migrate-custom-headers.md).

**Topics**
+ [YAML-Referenz für benutzerdefinierte Header](custom-header-YAML-format.md)
+ [Benutzerdefinierte Header einrichten](setting-custom-headers.md)
+ [Migrieren benutzerdefinierter Header aus der Build-Spezifikation und amplify.yml](migrate-custom-headers.md)
+ [Anforderungen an benutzerdefinierte Monorepo-Header](monorepo-custom-headers.md)

# YAML-Referenz für benutzerdefinierte Header
<a name="custom-header-YAML-format"></a>

Geben Sie benutzerdefinierte Header im folgenden YAML-Format an:

```
customHeaders:
  - pattern: '*.json'
    headers:
    - key: 'custom-header-name-1'
      value: 'custom-header-value-1'
    - key: 'custom-header-name-2'
      value: 'custom-header-value-2'
  - pattern: '/path/*'
    headers:
    - key: 'custom-header-name-1'
      value: 'custom-header-value-2'
```

Verwenden Sie für ein Monorepo das folgende YAML-Format:

```
applications:
  - appRoot: app1
    customHeaders:
    - pattern: '**/*'
      headers:
      - key: 'custom-header-name-1'
        value: 'custom-header-value-1'
  - appRoot: app2
    customHeaders:
    - pattern: '/path/*.json'
      headers:
      - key: 'custom-header-name-2'
        value: 'custom-header-value-2'
```

Wenn Sie Ihrer App benutzerdefinierte Header hinzufügen, geben Sie Ihre eigenen Werte für Folgendes an:

**pattern**  
Benutzerdefinierte Header werden auf alle URL-Dateipfade angewendet, die dem Muster entsprechen.

**Header**  
Definiert die Header, die dem Dateimuster entsprechen.

**Schlüssel**  
Der Name des benutzerdefinierten Headers.

**value**  
Der Wert des benutzerdefinierten Headers.

Weitere Informationen zu HTTP-Headern finden Sie in Mozillas Liste der [HTTP-Header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers).

# Benutzerdefinierte Header einrichten
<a name="setting-custom-headers"></a>

Es gibt zwei Möglichkeiten, benutzerdefinierte HTTP-Header für eine Amplify-App anzugeben. Sie können Header in der Amplify-Konsole angeben oder Sie können Header angeben, indem Sie die `customHttp.yml` Datei einer App herunterladen, bearbeiten und im Stammverzeichnis Ihres Projekts speichern.

**Um benutzerdefinierte Header für eine App festzulegen und sie in der Konsole zu speichern**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die [Amplify-Konsole](https://console.aws.amazon.com/amplify/).

1. Wählen Sie die App aus, für die Sie benutzerdefinierte Header festlegen möchten.

1. Wählen Sie im Navigationsbereich **Hosting** und anschließend **Benutzerdefinierte Header** aus.

1. **Wählen Sie auf der Seite **Benutzerdefinierte Kopfzeilen** die Option Bearbeiten aus.**

1. Geben **Sie im Fenster Benutzerdefinierte Header bearbeiten** die Informationen für Ihre benutzerdefinierten Header im YAML-Format für [benutzerdefinierte Header](custom-header-YAML-format.md) ein.

   1. Geben Sie für `pattern` das passende Muster ein.

   1. Geben Sie für `key` den Namen der benutzerdefinierten Kopfzeile ein.

   1. Geben Sie für `value` den Wert des benutzerdefinierten Headers ein.

1. Wählen Sie **Speichern**.

1. Stellen Sie die App erneut bereit, um die neuen benutzerdefinierten Header anzuwenden.
   + Navigieren Sie für eine CI/CD App zu dem Zweig, den Sie bereitstellen möchten, und wählen Sie Diese Version **erneut bereitstellen** aus. Sie können auch einen neuen Build von Ihrem Git-Repository aus ausführen.
   + Für eine App zur manuellen Bereitstellung stellen Sie die App erneut in der Amplify-Konsole bereit.

**Um benutzerdefinierte Header für eine App festzulegen und sie im Stammverzeichnis Ihres Repositorys zu speichern**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die [Amplify-Konsole](https://console.aws.amazon.com/amplify/).

1. Wählen Sie die App aus, für die Sie benutzerdefinierte Header festlegen möchten.

1. Wählen Sie im Navigationsbereich **Hosting** und anschließend **Benutzerdefinierte Header** aus.

1. Wählen Sie auf der Seite **Benutzerdefinierte Header** die Option YML **herunterladen** aus.

1. Öffnen Sie die heruntergeladene `customHttp.yml` Datei im Code-Editor Ihrer Wahl und geben Sie die Informationen für Ihre benutzerdefinierten Header im YAML-Format für [benutzerdefinierte Header](custom-header-YAML-format.md) ein.

   1. Geben Sie für `pattern` das passende Muster ein.

   1. Geben Sie für `key` den Namen der benutzerdefinierten Kopfzeile ein.

   1. Geben Sie für `value` den Wert des benutzerdefinierten Headers ein.

1. Speichern Sie die bearbeitete `customHttp.yml` Datei im Stammverzeichnis Ihres Projekts. Wenn Sie mit einem Monorepo arbeiten, speichern Sie die `customHttp.yml` Datei im Stammverzeichnis Ihres Repos.

1. Stellen Sie die App erneut bereit, um die neuen benutzerdefinierten Header anzuwenden.
   + Führen Sie für eine CI/CD App einen neuen Build aus Ihrem Git-Repository aus, der die neue `customHttp.yml` Datei enthält.
   + Für eine App mit manueller Bereitstellung stellen Sie die App erneut in der Amplify-Konsole bereit und fügen Sie die neue `customHttp.yml` Datei mit den Artefakten hinzu, die Sie hochladen.

**Anmerkung**  
Benutzerdefinierte Header, die in der `customHttp.yml` Datei festgelegt und im Stammverzeichnis der App bereitgestellt werden, überschreiben benutzerdefinierte Header, die im Abschnitt **Benutzerdefinierte Header** in der Amplify-Konsole definiert sind.

## Beispiel für benutzerdefinierte Sicherheits-Header
<a name="example-security-headers"></a>

Benutzerdefinierte Sicherheitsheader ermöglichen die Durchsetzung von HTTPS, die Verhinderung von XSS-Angriffen und den Schutz Ihres Browsers vor Clickjacking. Verwenden Sie die folgende YAML-Syntax, um benutzerdefinierte Sicherheitsheader auf Ihre App anzuwenden.

```
customHeaders:
  - pattern: '**'
    headers:
      - key: 'Strict-Transport-Security'
        value: 'max-age=31536000; includeSubDomains'
      - key: 'X-Frame-Options'
        value: 'SAMEORIGIN'
      - key: 'X-XSS-Protection'
        value: '1; mode=block'
      - key: 'X-Content-Type-Options'
        value: 'nosniff'
      - key: 'Content-Security-Policy'
        value: "default-src 'self'"
```

## Benutzerdefinierte Cache-Control-Header einrichten
<a name="example-cache-headers"></a>

Apps, die mit Amplify gehostet werden, berücksichtigen die vom Ursprung gesendeten `Cache-Control` Header, es sei denn, Sie überschreiben sie mit benutzerdefinierten Headern, die Sie definieren. Amplify wendet benutzerdefinierte Cache-Control-Header nur für erfolgreiche Antworten mit einem Statuscode an. `200 OK` Dadurch wird verhindert, dass Fehlerantworten zwischengespeichert und anderen Benutzern bereitgestellt werden, die dieselbe Anfrage stellen.

Sie können die `s-maxage` Direktive manuell anpassen, um mehr Kontrolle über die Leistung und Bereitstellungsverfügbarkeit Ihrer App zu haben. Um beispielsweise die Dauer zu verlängern, für die Ihre Inhalte am Edge zwischengespeichert bleiben, können Sie die Gültigkeitsdauer (Time to Live, TTL) manuell erhöhen, indem Sie `s-maxage` auf einen Wert aktualisieren, der länger als die Standardeinstellung 600 Sekunden (10 Minuten) ist.

Verwenden Sie das folgende YAML-Format`s-maxage`, um einen benutzerdefinierten Wert für anzugeben. In diesem Beispiel wird der zugehörige Inhalt 3600 Sekunden (eine Stunde) lang am Edge zwischengespeichert.

```
customHeaders:
  - pattern: '/img/*'
    headers:
      - key: 'Cache-Control' 
        value: 's-maxage=3600'
```

Weitere Informationen zur Steuerung der Anwendungsleistung mithilfe von Headern finden Sie unter. [Verwenden des Cache-Control-Headers zur Steigerung der App-Leistung](Using-headers-to-control-cache-duration.md)

# Migrieren benutzerdefinierter Header aus der Build-Spezifikation und amplify.yml
<a name="migrate-custom-headers"></a>

Bisher wurden benutzerdefinierte HTTP-Header für eine App entweder durch Bearbeitung der Build-Spezifikation in der Amplify-Konsole oder durch Herunterladen und Aktualisieren der `amplify.yml` Datei und Speichern im Stammverzeichnis des Projekts angegeben. Es wird dringend empfohlen, dass Sie Ihre benutzerdefinierten Header aus der Build-Spezifikation und der Datei migrieren. `amplify.yml`

Geben Sie Ihre benutzerdefinierten Header im Abschnitt **Benutzerdefinierte Header** der Amplify-Konsole an oder indem Sie die Datei herunterladen und bearbeiten. `customHttp.yml`

**Um benutzerdefinierte Header zu migrieren, die in der Amplify-Konsole gespeichert sind**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die [Amplify-Konsole](https://console.aws.amazon.com/amplify/).

1. Wählen Sie die App aus, für die die benutzerdefinierte Header-Migration durchgeführt werden soll.

1. Wählen Sie im Navigationsbereich **Hosting**, **Build-Einstellungen** aus. Im Abschnitt **App-Build-Spezifikation** können Sie die Buildspec Ihrer App überprüfen.

1. Wählen Sie **Herunterladen**, um eine Kopie Ihrer aktuellen Buildspec zu speichern. Sie können später auf diese Kopie verweisen, wenn Sie Einstellungen wiederherstellen müssen.

1. Wenn der Download abgeschlossen ist, wählen Sie **Bearbeiten**.

1. Notieren Sie sich die benutzerdefinierten Header-Informationen in der Datei, da Sie sie später in Schritt 9 verwenden werden. Löschen **Sie im Bearbeitungsfenster** alle benutzerdefinierten Header aus der Datei und wählen Sie **Speichern**.

1. Wählen Sie im Navigationsbereich **Hosting**, **Benutzerdefinierte Header** aus.

1. **Wählen Sie auf der Seite **Benutzerdefinierte Header** die Option Bearbeiten aus.**

1. Geben **Sie im Fenster Benutzerdefinierte Kopfzeilen bearbeiten** die Informationen für Ihre benutzerdefinierten Kopfzeilen ein, die Sie in Schritt 6 gelöscht haben.

1. Wählen Sie **Speichern**.

1. Stellen Sie alle Branches erneut bereit, auf die die neuen benutzerdefinierten Header angewendet werden sollen.

**Um benutzerdefinierte Header von amplify.yml zu CustomHttp.yml zu migrieren**

1. Navigieren Sie zu der `amplify.yml` Datei, die derzeit im Stammverzeichnis Ihrer App bereitgestellt ist.

1. Öffnen Sie `amplify.yml` im Code-Editor Ihrer Wahl.

1. Notieren Sie sich die benutzerdefinierten Header-Informationen in der Datei, da Sie sie später in Schritt 8 verwenden werden. Löschen Sie die benutzerdefinierten Header in der Datei. Speichern und schließen Sie die Datei.

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die [Amplify-Konsole](https://console.aws.amazon.com/amplify/).

1. Wählen Sie die App aus, für die Sie benutzerdefinierte Header festlegen möchten.

1. Wählen Sie im Navigationsbereich **Hosting**, **Benutzerdefinierte Header** aus.

1. **Wählen Sie auf der Seite **Benutzerdefinierte Header** die Option Herunterladen aus.**

1. Öffnen Sie die heruntergeladene `customHttp.yml` Datei im Code-Editor Ihrer Wahl und geben Sie die Informationen für Ihre benutzerdefinierten Header ein, aus denen Sie `amplify.yml` in Schritt 3 gelöscht haben.

1. Speichern Sie die bearbeitete `customHttp.yml` Datei im Stammverzeichnis Ihres Projekts. Wenn Sie mit einem Monorepo arbeiten, speichern Sie die Datei im Stammverzeichnis Ihres Repos.

1. Stellen Sie die App erneut bereit, um die neuen benutzerdefinierten Header anzuwenden.
   + Führen Sie für eine CI/CD App einen neuen Build aus Ihrem Git-Repository aus, der die neue `customHttp.yml` Datei enthält.
   + Für eine App mit manueller Bereitstellung stellen Sie die App erneut in der Amplify-Konsole bereit und fügen Sie die neue `customHttp.yml` Datei mit Artefakten hinzu, die Sie hochladen.

**Anmerkung**  
Benutzerdefinierte Header, die in der `customHttp.yml` Datei festgelegt und im Stammverzeichnis der App bereitgestellt werden, überschreiben die benutzerdefinierten Header, die im Abschnitt **Benutzerdefinierte Header** der Amplify-Konsole definiert sind.

# Anforderungen an benutzerdefinierte Monorepo-Header
<a name="monorepo-custom-headers"></a>

Wenn Sie benutzerdefinierte Header für eine App in einem Monorepo angeben, beachten Sie die folgenden Einrichtungsanforderungen:
+ Es gibt ein spezielles YAML-Format für ein Monorepo. Die korrekte Syntax finden Sie unter. [YAML-Referenz für benutzerdefinierte Header](custom-header-YAML-format.md)
+ Sie können benutzerdefinierte Header für eine Anwendung in einem Monorepo mithilfe des Abschnitts **Benutzerdefinierte Header der Amplify-Konsole** angeben. Sie müssen Ihre Anwendung erneut bereitstellen, um die neuen benutzerdefinierten Header anzuwenden.
+ Als Alternative zur Verwendung der Konsole können Sie benutzerdefinierte Header für eine App in einem Monorepo in einer Datei angeben. `customHttp.yml` Sie müssen die `customHttp.yml` Datei im Stammverzeichnis Ihres Repos speichern und dann die Anwendung erneut bereitstellen, um die neuen benutzerdefinierten Header anzuwenden. In der `customHttp.yml` Datei angegebene benutzerdefinierte Header überschreiben alle benutzerdefinierten Header, die im Abschnitt **Benutzerdefinierte Header der Amplify-Konsole** angegeben wurden.