

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menyetel header khusus untuk aplikasi Amplify
<a name="custom-headers"></a>

Dengan header HTTP kustom, Anda dapat menentukan header untuk setiap respons HTTP. Header respons dapat digunakan untuk tujuan debugging, keamanan, dan informasi. Anda dapat menentukan header di konsol Amplify, atau dengan mengunduh dan mengedit file aplikasi `customHttp.yml` dan menyimpannya di direktori root proyek. Untuk prosedur terperinci, lihat [Mengatur header kustom](setting-custom-headers.md).

Sebelumnya, header HTTP kustom ditentukan untuk aplikasi baik dengan mengedit spesifikasi build (buildspec) di konsol Amplify atau dengan mengunduh dan memperbarui `amplify.yml` file dan menyimpannya di direktori root proyek. Kami sangat menyarankan untuk memigrasikan header khusus yang ditentukan dengan cara ini dari buildspec dan file. `amplify.yml` Untuk petunjuk, lihat [Memigrasi header khusus dari spesifikasi build dan amplify.yml](migrate-custom-headers.md).

**Topics**
+ [Referensi YAMAL header kustom](custom-header-YAML-format.md)
+ [Mengatur header kustom](setting-custom-headers.md)
+ [Memigrasi header khusus dari spesifikasi build dan amplify.yml](migrate-custom-headers.md)
+ [Persyaratan header kustom Monorepo](monorepo-custom-headers.md)

# Referensi YAMAL header kustom
<a name="custom-header-YAML-format"></a>

Tentukan header kustom menggunakan format YAML berikut:

```
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'
```

Untuk monorepo, gunakan format YAML berikut:

```
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'
```

Saat menambahkan header kustom ke aplikasi, Anda akan menentukan sendiri nilai untuk hal berikut:

**pola**  
Header khusus diterapkan ke semua jalur file URL yang cocok dengan pola.

**headers**  
Mendefinisikan header yang sesuai dengan pola file.

**kunci**  
Nama header kustom.

**nilai**  
Nilai header kustom.

Untuk informasi lebih lanjut tentang header HTTP, lihat daftar Mozilla untuk [Header HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers).

# Mengatur header kustom
<a name="setting-custom-headers"></a>

Ada dua cara untuk menentukan header HTTP khusus untuk aplikasi Amplify. Anda dapat menentukan header di konsol Amplify atau Anda dapat menentukan header dengan mengunduh dan mengedit file aplikasi `customHttp.yml` dan menyimpannya di direktori root proyek Anda.

**Untuk mengatur header khusus untuk aplikasi dan menyimpannya di konsol**

1. Masuk ke Konsol Manajemen AWS dan buka konsol [Amplify](https://console.aws.amazon.com/amplify/).

1. Pilih aplikasi yang header kustomnya akan diatur.

1. Di panel navigasi, pilih **Hosting**, lalu pilih **Header khusus**.

1. Pada halaman **Custom header**, pilih **Edit**.

1. Di jendela **Edit header kustom**, masukkan informasi untuk header kustom Anda menggunakan format [YAMAL header kustom](custom-header-YAML-format.md).

   1. Untuk `pattern`, masukkan pola yang akan dicocokkan.

   1. Untuk `key`, masukkan nama header kustom.

   1. Untuk `value`, masukkan nilai header kustom.

1. Pilih **Simpan**.

1. Menerapkan ulang aplikasi untuk menerapkan header kustom baru.
   + Untuk CI/CD aplikasi, navigasikan ke cabang untuk menerapkan dan pilih **Redeploy** versi ini. Anda juga dapat melakukan build baru dari repositori Git Anda.
   + Untuk aplikasi penerapan manual, terapkan aplikasi lagi di konsol Amplify.

**Untuk mengatur header khusus untuk aplikasi dan menyimpannya di root repositori Anda**

1. Masuk ke Konsol Manajemen AWS dan buka konsol [Amplify](https://console.aws.amazon.com/amplify/).

1. Pilih aplikasi yang header kustomnya akan diatur.

1. Di panel navigasi, pilih **Hosting**, lalu pilih **Header khusus**.

1. Pada halaman **Custom header**, pilih **Download YML**.

1. Buka unduhan file `customHttp.yml` di editor kode pilihan Anda, lalu masukkan informasi untuk header kustom Anda menggunakan [format YAML header kustom](custom-header-YAML-format.md).

   1. Untuk `pattern`, masukkan pola yang akan dicocokkan.

   1. Untuk `key`, masukkan nama header kustom.

   1. Untuk `value`, masukkan nilai header kustom.

1. Simpan file `customHttp.yml` yang telah diedit di direktori root proyek. Jika Anda menggunakan monorepo, simpan file `customHttp.yml` di root repo.

1. Menerapkan ulang aplikasi untuk menerapkan header kustom baru.
   + Untuk CI/CD aplikasi, lakukan build baru dari repositori Git Anda yang menyertakan file baru`customHttp.yml`.
   + Untuk aplikasi penerapan manual, terapkan aplikasi lagi di konsol Amplify dan sertakan `customHttp.yml` file baru dengan artefak yang Anda unggah.

**catatan**  
Header khusus yang disetel dalam `customHttp.yml` file dan diterapkan di direktori root aplikasi akan menimpa header khusus yang ditentukan di **bagian Header khusus** di konsol Amplify.

## Contoh header kustom keamanan
<a name="example-security-headers"></a>

Header keamanan kustom memungkinkan penerapan HTTPS, mencegah serangan XSS, dan melindungi peramban dari clickjacking. Gunakan sintaks YAML berikut untuk menerapkan header keamanan kustom ke aplikasi Anda.

```
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'"
```

## Mengatur header kustom Cache-Control
<a name="example-cache-headers"></a>

Aplikasi yang dihosting dengan Amplify menghormati `Cache-Control` header yang dikirim oleh asal, kecuali jika Anda menggantinya dengan header khusus yang Anda tentukan. Amplify hanya menerapkan header kustom Cache-Control untuk respons yang berhasil dengan kode status. `200 OK` Ini mencegah respons kesalahan di-cache dan disajikan ke pengguna lain yang membuat permintaan yang sama.

Anda dapat menyesuaikan perintah `s-maxage` secara manual untuk mendapatkan kendali yang lebih besar atas performa dan ketersediaan deployment aplikasi Anda. Misalnya, untuk menambah durasi konten tetap berada di cache di tepi, Anda dapat meningkatkan waktu untuk tayang (TTL) secara manual dengan memperbarui `s-maxage` ke nilai yang lebih lama dari default 600 detik (10 menit).

Untuk menentukan nilai kustom untuk `s-maxage`, gunakan format YAML berikut. Contoh ini membuat konten terkait tetap berada di cache di tepi selama 3600 detik (satu jam).

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

Untuk informasi selengkapnya tentang mengontrol performa aplikasi dengan header, lihat[Menggunakan header Cache-Control untuk meningkatkan performa aplikasi](Using-headers-to-control-cache-duration.md).

# Memigrasi header khusus dari spesifikasi build dan amplify.yml
<a name="migrate-custom-headers"></a>

Sebelumnya, header HTTP kustom ditentukan untuk aplikasi baik dengan mengedit spesifikasi build di konsol Amplify atau dengan mengunduh dan memperbarui `amplify.yml` file dan menyimpannya di direktori root proyek. Sangat disarankan agar Anda memigrasikan header kustom Anda dari spesifikasi build dan file. `amplify.yml`

Tentukan header khusus Anda di bagian **Header khusus** di konsol Amplify atau dengan mengunduh dan mengedit file. `customHttp.yml`

**Untuk memigrasikan header khusus yang disimpan di konsol Amplify**

1. Masuk ke Konsol Manajemen AWS dan buka konsol [Amplify](https://console.aws.amazon.com/amplify/).

1. Pilih aplikasi untuk menjalankan migrasi header kustom.

1. Di panel navigasi, pilih **Hosting**, **Build settings**. Di bagian **Spesifikasi build aplikasi**, Anda dapat meninjau buildspec aplikasi.

1. Pilih **Unduh** untuk menyimpan salinan buildspec saat ini. Anda dapat menggunakan salinan ini kemudian sebagai referensi untuk memulihkan pengaturan.

1. Setelah pengunduhan selesai, pilih **Edit**.

1. Perhatikan informasi header kustom di file karena informasi ini akan Anda gunakan di langkah 9. Di jendela **Edit**, hapus header khusus apa pun dari file dan pilih **Simpan**.

1. Di panel navigasi, pilih **Hosting**, **Header khusus**.

1. Pada halaman **Custom header**, pilih **Edit**.

1. Di jendela **Edit header khusus**, masukkan informasi untuk header khusus Anda yang Anda hapus pada langkah 6.

1. Pilih **Simpan**.

1. Deploy ulang cabang tempat header kustom baru akan diterapkan.

**Memigrasi header kustom dari amplify.yml ke customHttp.yml**

1. Navigasi ke file `amplify.yml` yang saat ini di-deploy di direktori root aplikasi.

1. Buka `amplify.yml` di editor kode pilihan Anda.

1. Perhatikan informasi header kustom di file karena informasi ini akan Anda gunakan di langkah 8. Hapus header kustom di file. Simpan dan tutup file .

1. Masuk ke Konsol Manajemen AWS dan buka konsol [Amplify](https://console.aws.amazon.com/amplify/).

1. Pilih aplikasi yang header kustomnya akan diatur.

1. Di panel navigasi, pilih **Hosting**, **Header khusus**.

1. Pada halaman **Custom header**, pilih **Download**.

1. Buka unduhan file `customHttp.yml` di editor kode pilihan Anda, lalu masukkan informasi untuk header kustom yang Anda hapus dari `amplify.yml` di langkah 3.

1. Simpan file `customHttp.yml` yang telah diedit di direktori root proyek. Jika Anda menggunakan monorepo, simpan file di root repo.

1. Menerapkan ulang aplikasi untuk menerapkan header kustom baru.
   + Untuk CI/CD aplikasi, lakukan build baru dari repositori Git Anda yang menyertakan file baru`customHttp.yml`.
   + Untuk aplikasi penerapan manual, terapkan aplikasi lagi di konsol Amplify dan sertakan `customHttp.yml` file baru dengan artefak yang Anda unggah.

**catatan**  
Header khusus yang disetel dalam `customHttp.yml` file dan diterapkan di direktori root aplikasi akan menimpa header khusus yang ditentukan di **bagian Header khusus di konsol Amplify**.

# Persyaratan header kustom Monorepo
<a name="monorepo-custom-headers"></a>

Saat Anda menentukan header khusus untuk aplikasi di monorepo, perhatikan persyaratan penyiapan berikut:
+ Tersedia format YAML khusus untuk monorepo. Untuk sintaks yang benar, lihat[Referensi YAMAL header kustom](custom-header-YAML-format.md).
+ Anda dapat menentukan header kustom untuk aplikasi dalam monorepo menggunakan bagian **Custom header** dari konsol Amplify. Anda harus menerapkan ulang aplikasi Anda untuk menerapkan header kustom baru.
+ Selain menggunakan konsol, Anda dapat menentukan header kustom untuk aplikasi di monorepo dalam file `customHttp.yml`. Anda harus menyimpan file `customHttp.yml` di root repo, kemudian men-deploy kembali aplikasi untuk menerapkan header kustom baru. Header khusus yang ditentukan dalam `customHttp.yml` file akan mengganti header kustom yang ditentukan menggunakan bagian **Custom header** dari konsol Amplify.