

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

# Kontrol permintaan asal dengan kebijakan
<a name="controlling-origin-requests"></a>

Ketika permintaan penampil untuk CloudFront menghasilkan *cache* yang hilang (objek yang diminta tidak di-cache di lokasi tepi), CloudFront mengirimkan permintaan ke asal untuk mengambil objek. Ini disebut *permintaan asal perjalanan*. Permintaan asal usul selalu menyertakan informasi berikut dari permintaan penampil:
+ Jalur URL (jalur saja, tanpa string kueri URL atau nama domain)
+ Isi permohonan (jika ada)
+ Header HTTP yang CloudFront secara otomatis menyertakan dalam setiap permintaan asal, termasuk`Host`,`User-Agent`, dan `X-Amz-Cf-Id`

Informasi lain dari permintaan penampil, seperti string kueri URL, header HTTP, dan cookie, tidak disertakan dalam permintaan asal secara default. (Pengecualian: Dengan pengaturan cache lama, CloudFront teruskan header ke asal Anda secara default.) Namun, Anda mungkin ingin menerima beberapa informasi lain ini di tempat asal, misalnya untuk mengumpulkan data untuk analitik atau telemetri. Anda dapat menggunakan *kebijakan permintaan asal* untuk mengontrol informasi yang disertakan dalam permintaan asal. 

Kebijakan permintaan asal terpisah dari [kebijakan cache](controlling-the-cache-key.md), yang mengontrol kunci cache. Dengan cara ini, Anda dapat menerima informasi tambahan di tempat asal dan juga mempertahankan *rasio hit cache* yang baik (proporsi permintaan pemirsa yang menghasilkan hit cache). Anda melakukannya dengan secara terpisah mengontrol informasi mana saja yang termasuk dalam permintaan asal (menggunakan kebijakan permintaan asal) dan yang disertakan dalam kunci cache (menggunakan kebijakan cache).

Meskipun dua jenis kebijakan terpisah, kebijakan tersebut berkaitan. Semua string kueri URL, header HTTP, dan cookie yang Anda sertakan dalam kunci cache (menggunakan kebijakan cache) secara otomatis disertakan dalam permintaan asal. Gunakan kebijakan permintaan asal usul untuk menentukan informasi yang ingin Anda masukkan ke permintaan asal keberangkatan, tetapi *tidak* di dalam kunci cache. Sama seperti kebijakan cache, Anda melampirkan kebijakan permintaan asal ke satu atau beberapa perilaku cache dalam CloudFront distribusi.

Anda juga dapat menggunakan kebijakan permintaan asal untuk menambahkan header HTTP tambahan ke permintaan asal yang tidak disertakan dalam permintaan penampil. Header tambahan ini ditambahkan oleh CloudFront sebelum mengirim permintaan asal, dengan nilai header yang ditentukan secara otomatis berdasarkan permintaan penampil. Untuk informasi selengkapnya, lihat [Tambahkan header CloudFront permintaan](adding-cloudfront-headers.md).

**Topics**
+ [Memahami kebijakan permintaan asal](origin-request-understand-origin-request-policy.md)
+ [Buat kebijakan permintaan asal](origin-request-create-origin-request-policy.md)
+ [Gunakan kebijakan permintaan asal terkelola](using-managed-origin-request-policies.md)
+ [Tambahkan header CloudFront permintaan](adding-cloudfront-headers.md)
+ [Memahami bagaimana kebijakan permintaan asal dan kebijakan cache bekerja sama](understanding-how-origin-request-policies-and-cache-policies-work-together.md)

# Memahami kebijakan permintaan asal
<a name="origin-request-understand-origin-request-policy"></a>

CloudFront menyediakan beberapa kebijakan permintaan asal yang telah ditentukan sebelumnya, yang dikenal sebagai *kebijakan terkelola*, untuk kasus penggunaan umum. Anda dapat menggunakan kebijakan terkelola ini, atau Anda dapat membuat kebijakan permintaan asal Anda sendiri yang khusus untuk kebutuhan Anda. Untuk informasi lebih lanjut tentang kebijakan terkelola, lihat [Gunakan kebijakan permintaan asal terkelola](using-managed-origin-request-policies.md).

Kebijakan permohonan asal memuat pengaturan berikut, yang dikategorikan menjadi *informasi kebijakan* dan *pengaturan permintaan asal*.

## Informasi kebijakan
<a name="origin-request-understand-origin-request-policy-info"></a>

**Nama**  
Nama untuk mengidentifikasi kebijakan permintaan asal usul. Pada konsol, Anda menggunakan nama untuk melampirkan kebijakan permintaan asal untuk perilaku cache.

**Deskripsi**  
Komentar untuk menguraikan kebijakan permintaan asal. Ini opsional.

## Pengaturan permintaan asal
<a name="origin-request-understand-origin-request-policy-settings"></a>

Pengaturan permintaan asal menentukan nilai dalam permintaan penampil yang disertakan dalam permintaan yang CloudFront dikirim ke asal (dikenal sebagai permintaan asal). Nilai dapat mencakup string kueri URL, header HTTP, dan cookie. Nilai yang Anda tetapkan termasuk dalam permintaan asal, tetapi tidak termasuk dalam kunci cache. Untuk informasi tentang pengontrolan kunci cache, lihat [Mengontrol kunci cache dengan kebijakan](controlling-the-cache-key.md).

**Header **  
Header HTTP dalam permintaan penampil yang CloudFront menyertakan permintaan asal. Untuk header, Anda dapat memilih salah satu pengaturan berikut:  
+ **Tidak ada** – Header HTTP dalam permintaan penampil adalah *tidak* yang termasuk dalam permintaan asal usul.
+ **Semua header penampil** – Semua header HTTP di permintaan penampil disertakan dalam permintaan asal.
+ **Semua header penampil dan CloudFront header berikut** - Semua header HTTP dalam permintaan penampil disertakan dalam permintaan asal. Selain itu, Anda menentukan CloudFront header mana yang ingin Anda tambahkan ke permintaan asal. Untuk informasi selengkapnya tentang CloudFront header, lihat[Tambahkan header CloudFront permintaan](adding-cloudfront-headers.md).
+ **Sertakan header berikut** - Anda menentukan header HTTP mana yang disertakan dalam permintaan asal.
**catatan**  
Jangan tentukan header yang sudah disertakan dalam pengaturan **Origin Custom Header** Anda. Untuk informasi selengkapnya, lihat [Konfigurasikan CloudFront untuk menambahkan header khusus ke permintaan asal](add-origin-custom-headers.md#add-origin-custom-headers-configure).
+ **Semua header penampil kecuali** - Anda menentukan header HTTP mana yang ***tidak*** termasuk dalam permintaan asal. Semua header HTTP lainnya dalam permintaan penampil, kecuali yang ditentukan, disertakan.
Saat Anda menggunakan header **Semua penampil dan header berikut, Sertakan CloudFront header** **berikut, atau Semua header penampil** **kecuali** setelan, Anda menentukan header HTTP hanya dengan nama header. CloudFront termasuk header lengkap, termasuk nilainya, dalam permintaan asal.  
Saat Anda menggunakan **header Semua penampil kecuali** setelan untuk menghapus `Host` header penampil, CloudFront tambahkan `Host` header baru dengan nama domain asal ke permintaan asal.

**Cookie**  
Cookie dalam permintaan penampil yang CloudFront mencakup permintaan asal. Untuk cookie, Anda dapat memilih salah satu pengaturan berikut:  
+ **Tidak ada** – Cookie di permintaan penampil adalah *tidak* yang termasuk dalam permintaan asal usul.
+ **Semua** – Semua cookie di permintaan pemirsa disertakan dalam permintaan asal.
+ **Sertakan cookie berikut** - Anda menentukan cookie mana dalam permintaan penampil yang disertakan dalam permintaan asal.
+ **Semua cookie kecuali** — Anda menentukan cookie mana dalam permintaan penampil yang ***tidak*** termasuk dalam permintaan asal. Semua cookie lain dalam permintaan pemirsa disertakan.
Ketika Anda menggunakan **Sertakan cookie berikut** atau **Semua cookie kecuali** pengaturan, Anda menentukan cookie dengan nama mereka saja. CloudFront termasuk cookie lengkap, termasuk nilainya, dalam permintaan asal.

**String kueri **  
String kueri URL dalam permintaan penampil yang CloudFront menyertakan permintaan asal. Untuk string kueri, Anda dapat memilih salah satu pengaturan berikut:  
+ **Tidak ada** – String kueri pada permintaan pemirsa adalah *tidak* yang termasuk dalam permintaan asal usul.
+ **Semua** – Semua string kueri dalam permintaan penampil akan disertakan dalam permintaan asal.
+ **Sertakan string kueri berikut - Anda menentukan string** kueri mana dalam permintaan penampil yang disertakan dalam permintaan asal.
+ **Semua string kueri kecuali** - Anda menentukan string kueri mana dalam permintaan penampil yang ***tidak*** termasuk dalam permintaan asal. Semua string kueri lainnya disertakan.
Bila Anda menggunakan **Sertakan string kueri berikut atau Semua string** **kueri kecuali** setelan, Anda menentukan string kueri berdasarkan namanya saja. CloudFront termasuk string kueri lengkap, termasuk nilainya, dalam permintaan asal.

# Buat kebijakan permintaan asal
<a name="origin-request-create-origin-request-policy"></a>

Anda dapat menggunakan kebijakan permintaan asal untuk mengontrol nilai (string kueri URL, header HTTP, dan cookie) yang disertakan dalam permintaan yang CloudFront dikirim ke asal Anda. Anda dapat membuat kebijakan permintaan asal di CloudFront konsol, dengan AWS Command Line Interface (AWS CLI), atau dengan CloudFront API.

Setelah membuat kebijakan permintaan asal, Anda melampirkannya ke satu atau beberapa perilaku cache dalam CloudFront distribusi.

Kebijakan permintaan asal tidak diperlukan. Saat perilaku cache tidak memiliki kebijakan permintaan asal yang dilampirkan, permintaan asal mencakup semua nilai yang ditentukan dalam [kebijakan cache](cache-key-understand-cache-policy.md), tetapi tidak lebih.

**catatan**  
Untuk menggunakan kebijakan permintaan asal, perilaku cache juga harus menggunakan [kebijakan cache](controlling-the-cache-key.md). Anda tidak dapat menggunakan kebijakan permintaan asal dalam perilaku cache tanpa kebijakan cache.

------
#### [ Console ]

**Untuk membuat kebijakan permintaan asal (konsol)**

1. Masuk ke Konsol Manajemen AWS dan buka halaman **Kebijakan** di CloudFront konsol di[https://console.aws.amazon.com/cloudfront/v4/home?#/policies](https://console.aws.amazon.com/cloudfront/v4/home?#/policies).

1. Pilih **Permintaan asal**, lalu pilih **Buat kebijakan permintaan asal**.

1. Pilih pengaturan yang diinginkan untuk kebijakan permintaan asal ini. Untuk informasi selengkapnya, lihat [Memahami kebijakan permintaan asal](origin-request-understand-origin-request-policy.md).

1. Setelah selesai, pilih **Buat**.

Setelah membuat kebijakan permintaan asal, Anda dapat melampirkannya ke perilaku cache.

**Untuk melampirkan kebijakan permintaan asal ke distribusi yang ada (konsol)**

1. Buka halaman **Distribusi** di CloudFront konsol di[https://console.aws.amazon.com/cloudfront/v4/home#/distributions](https://console.aws.amazon.com/cloudfront/v4/home#/distributions).

1. Pilih distribusi untuk diperbarui, lalu pilih **Perilaku** tab.

1. Pilih perilaku cache untuk diperbarui, lalu pilih **Edit**.

   Atau, untuk membuat perilaku cache baru, pilih **Buat perilaku**.

1. Di bagian **Kunci cache dan permintaan asal**, pastikan **kebijakan Cache dan kebijakan permintaan asal** dipilih.

1. Untuk **kebijakan permintaan Origin**, pilih kebijakan permintaan asal untuk dilampirkan ke perilaku cache ini.

1. Di bagian bawah halaman, pilih **Simpan perubahan**.

**Untuk melampirkan kebijakan permintaan asal usul ke distribusi baru (konsol)**

1. Buka CloudFront konsol di[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Pilih **Buat Distribusi**.

1. Di bagian **Kunci cache dan permintaan asal**, pastikan **kebijakan Cache dan kebijakan permintaan asal** dipilih.

1. Untuk **kebijakan permintaan Origin**, pilih kebijakan permintaan asal untuk dilampirkan ke perilaku cache default distribusi ini.

1. Pilih pengaturan yang diinginkan untuk asal, perilaku cache default, dan pengaturan distribusi lainnya. Untuk informasi selengkapnya, lihat [Semua referensi pengaturan distribusi](distribution-web-values-specify.md).

1. Setelah selesai, pilih **Buat distribusi**.

------
#### [ CLI ]

Untuk membuat kebijakan permintaan asal dengan AWS Command Line Interface (AWS CLI), gunakan **aws cloudfront create-origin-request-policy** perintah. Anda dapat menggunakan file input untuk memberikan parameter input perintah, daripada menentukan setiap parameter individu sebagai input baris perintah.

**Untuk membuat kebijakan permintaan asal (CLI dengan file input)**

1. Gunakan perintah berikut untuk membuat file dengan nama `origin-request-policy.yaml` yang berisi semua parameter input untuk **create-origin-request-policy** perintah.

   ```
   aws cloudfront create-origin-request-policy --generate-cli-skeleton yaml-input > origin-request-policy.yaml
   ```

1. Buka file dengan nama `origin-request-policy.yaml` yang baru Anda buat. Edit file untuk menentukan pengaturan kebijakan permintaan asal yang diinginkan, lalu simpan file. Anda dapat menghapus bidang opsional dari file, tetapi jangan menghapus bidang yang diperlukan.

   Untuk informasi selengkapnya tentang pengaturan kebijakan permintaan asal, lihat [Memahami kebijakan permintaan asal](origin-request-understand-origin-request-policy.md).

1. Gunakan perintah berikut untuk membuat kebijakan permintaan asal dengan menggunakan parameter input dari `origin-request-policy.yaml` file.

   ```
   aws cloudfront create-origin-request-policy --cli-input-yaml file://origin-request-policy.yaml
   ```

   Catat `Id` nilai dalam output perintah. Ini adalah ID kebijakan permintaan asal, dan Anda memerlukannya untuk melampirkan kebijakan permintaan asal ke perilaku cache CloudFront distribusi.

**Untuk melampirkan kebijakan permintaan asal ke distribusi yang ada (CLI dengan file masukan)**

1. Gunakan perintah berikut untuk menyimpan konfigurasi distribusi untuk CloudFront distribusi yang ingin Anda perbarui. Ganti *distribution\$1ID* dengan ID distribusi.

   ```
   aws cloudfront get-distribution-config --id distribution_ID --output yaml > dist-config.yaml
   ```

1. Buka file dengan nama `dist-config.yaml` yang baru Anda buat. Edit file, membuat perubahan berikut pada setiap perilaku cache yang Anda perbarui untuk menggunakan kebijakan permintaan asal usul.
   + Dalam perilaku cache, tambahkan bidang bernama `OriginRequestPolicyId`. Untuk nilai bidang, gunakan ID kebijakan permintaan asal yang Anda catat setelah membuat kebijakan.
   + Ubah nama `ETag` bidang menjadi`IfMatch`, tetapi jangan ubah nilai bidang.

   Simpan file setelah selesai.

1. Gunakan perintah berikut untuk memperbarui distribusi untuk menggunakan kebijakan permintaan asal usul. Ganti *distribution\$1ID* dengan ID distribusi.

   ```
   aws cloudfront update-distribution --id distribution_ID --cli-input-yaml file://dist-config.yaml
   ```

**Untuk melampirkan kebijakan permintaan asal ke distribusi baru (CLI dengan file input)**

1. Gunakan perintah berikut untuk membuat file dengan nama `distribution.yaml` yang berisi semua parameter input untuk **create-distribution** perintah.

   ```
   aws cloudfront create-distribution --generate-cli-skeleton yaml-input > distribution.yaml
   ```

1. Buka file dengan nama `distribution.yaml` yang baru Anda buat. Dalam perilaku cache default, di `OriginRequestPolicyId` , masukkan ID kebijakan permintaan asal yang Anda catat setelah membuat kebijakan. Lanjutkan mengedit file untuk menentukan pengaturan distribusi yang Anda inginkan, kemudian simpan file setelah selesai.

   Untuk informasi lebih lanjut tentang pengaturan distribusi, lihat [Semua referensi pengaturan distribusi](distribution-web-values-specify.md).

1. Gunakan perintah berikut untuk membuat distribusi menggunakan parameter input dari `distribution.yaml` file Anda.

   ```
   aws cloudfront create-distribution --cli-input-yaml file://distribution.yaml
   ```

------
#### [ API ]

Untuk membuat kebijakan permintaan asal dengan CloudFront API, gunakan [CreateOriginRequestPolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateOriginRequestPolicy.html). Untuk informasi selengkapnya tentang bidang yang Anda tentukan dalam panggilan API ini, lihat [Memahami kebijakan permintaan asal](origin-request-understand-origin-request-policy.md) dan dokumentasi referensi API untuk AWS SDK atau klien API lainnya.

Setelah Anda membuat kebijakan permintaan asal, Anda dapat melampirkannya ke perilaku cache, menggunakan salah satu panggilan API berikut:
+ Untuk memasangnya ke perilaku cache dalam distribusi yang ada, gunakan [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).
+ Untuk memasangnya ke perilaku cache dalam distribusi baru, gunakan [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html).

Untuk kedua panggilan API ini, berikan ID kebijakan permintaan asal di `OriginRequestPolicyId` bidang, di dalam perilaku cache. Untuk informasi selengkapnya tentang bidang lain yang Anda tentukan dalam panggilan API ini, lihat [Semua referensi pengaturan distribusi](distribution-web-values-specify.md) dan dokumentasi referensi API untuk AWS SDK atau klien API lainnya.

------

# Gunakan kebijakan permintaan asal terkelola
<a name="using-managed-origin-request-policies"></a>

CloudFront menyediakan serangkaian kebijakan permintaan asal terkelola yang dapat Anda lampirkan ke salah satu perilaku cache distribusi Anda. Dengan kebijakan permintaan asal terkelola, Anda tidak perlu menulis atau mempertahankan kebijakan permintaan asal Anda sendiri. Kebijakan terkelola menggunakan pengaturan yang dioptimalkan untuk kasus penggunaan spesifik.

Untuk menggunakan kebijakan permintaan asal terkelola, Anda melampirkannya ke perilaku cache dalam distribusi Anda. Prosesnya sama seperti ketika Anda membuat kebijakan permintaan asal, tetapi alih-alih membuat yang baru, Anda hanya melampirkan salah satu kebijakan permintaan asal terkelola. Anda melampirkan kebijakan baik dengan nama (dengan konsol) atau dengan ID (dengan AWS CLI atau SDKs). Nama-nama dan IDs tercantum di bagian berikut.

Untuk informasi selengkapnya, lihat [Buat kebijakan permintaan asal](origin-request-create-origin-request-policy.md).

Topik berikut menjelaskan kebijakan permintaan asal terkelola yang dapat Anda gunakan.

**Topics**
+ [AllViewer](#managed-origin-request-policy-all-viewer)
+ [AllViewerAndCloudFrontHeaders-2022-06](#managed-origin-request-policy-all-viewer-and-cloudfront)
+ [AllViewerExceptHostHeader](#managed-origin-request-policy-all-viewer-except-host-header)
+ [CORS- CustomOrigin](#managed-origin-request-policy-cors-custom)
+ [CORS-S3asal](#managed-origin-request-policy-cors-s3)
+ [Elemental- - MediaTailor PersonalizedManifests](#managed-origin-request-policy-mediatailor)
+ [HostHeaderOnly](#managed-origin-request-policy-host-header-only)
+ [UserAgentRefererHeaders](#managed-origin-request-policy-user-agent-referer)

## AllViewer
<a name="managed-origin-request-policy-all-viewer"></a>

[Lihat kebijakan ini di CloudFront konsol](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/216adef6-5c7f-47e4-b989-5492eafa07d3)

Kebijakan ini mencakup semua nilai (header, cookie, dan string kueri) dari permintaan penampil.

Saat menggunakan CloudFormation, the AWS CLI, atau CloudFront API, ID untuk kebijakan ini adalah:

`216adef6-5c7f-47e4-b989-5492eafa07d3`

Kebijakan ini memiliki pengaturan berikut:
+ **Header yang disertakan dalam permintaan asal:** Semua header di permintaan penampil
+ **Cookie yang disertakan dalam permintaan asal:** Semua
+ **String kueri yang disertakan dalam permintaan asal:** Semua

## AllViewerAndCloudFrontHeaders-2022-06
<a name="managed-origin-request-policy-all-viewer-and-cloudfront"></a>

[Lihat kebijakan ini di CloudFront konsol](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/33f36d7e-f396-46d9-90e0-52428a34d9dc)

Kebijakan ini mencakup semua nilai (header, cookie, dan string kueri) dari permintaan pemirsa, dan semua [CloudFront header](adding-cloudfront-headers.md) yang dirilis hingga Juni 2022 (CloudFront header yang dirilis setelah Juni 2022 tidak disertakan).

Saat menggunakan CloudFormation, the AWS CLI, atau CloudFront API, ID untuk kebijakan ini adalah:

`33f36d7e-f396-46d9-90e0-52428a34d9dc`

Kebijakan ini memiliki pengaturan berikut:
+ **Header yang disertakan dalam permintaan asal:** Semua header dalam permintaan penampil, dan header berikut: CloudFront 
  + `CloudFront-Forwarded-Proto`
  + `CloudFront-Is-Android-Viewer`
  + `CloudFront-Is-Desktop-Viewer`
  + `CloudFront-Is-IOS-Viewer`
  + `CloudFront-Is-Mobile-Viewer`
  + `CloudFront-Is-SmartTV-Viewer`
  + `CloudFront-Is-Tablet-Viewer`
  + `CloudFront-Viewer-Address`
  + `CloudFront-Viewer-ASN`
  + `CloudFront-Viewer-City`
  + `CloudFront-Viewer-Country`
  + `CloudFront-Viewer-Country-Name`
  + `CloudFront-Viewer-Country-Region`
  + `CloudFront-Viewer-Country-Region-Name`
  + `CloudFront-Viewer-Http-Version`
  + `CloudFront-Viewer-Latitude`
  + `CloudFront-Viewer-Longitude`
  + `CloudFront-Viewer-Metro-Code`
  + `CloudFront-Viewer-Postal-Code`
  + `CloudFront-Viewer-Time-Zone`
  + `CloudFront-Viewer-TLS`
+ **Cookie yang disertakan dalam permintaan asal:** Semua
+ **String kueri yang disertakan dalam permintaan asal:** Semua

## AllViewerExceptHostHeader
<a name="managed-origin-request-policy-all-viewer-except-host-header"></a>

[Lihat kebijakan ini di CloudFront konsol](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/b689b0a8-53d0-40ab-baf2-68738e2966ac)

Kebijakan ini ***tidak*** menyertakan `Host` header dari permintaan penampil, tetapi menyertakan semua nilai lainnya (header, cookie, dan string kueri) dari permintaan penampil.

Kebijakan ini juga mencakup [header CloudFront permintaan](adding-cloudfront-headers.md) tambahan untuk protokol HTTP, versi HTTP, versi TLS, dan semua jenis perangkat dan header lokasi penampil.

Kebijakan ini ditujukan untuk digunakan dengan Amazon API Gateway dan asal URL AWS Lambda fungsi. Asal ini mengharapkan `Host` header berisi nama domain asal, bukan nama domain CloudFront distribusi. Meneruskan `Host` header dari permintaan penampil ke asal-usul ini dapat mencegahnya berfungsi.

**catatan**  
Saat Anda menggunakan kebijakan permintaan asal terkelola ini untuk menghapus `Host` header penampil, CloudFront tambahkan `Host` header baru dengan nama domain asal ke permintaan asal.

Saat menggunakan CloudFormation, the AWS CLI, atau CloudFront API, ID untuk kebijakan ini adalah:

`b689b0a8-53d0-40ab-baf2-68738e2966ac`

Kebijakan ini memiliki pengaturan berikut:
+ **Header termasuk dalam permintaan asal:** Semua header dalam permintaan penampil ***kecuali*** untuk header `Host`
+ **Cookie yang disertakan dalam permintaan asal:** Semua
+ **String kueri yang disertakan dalam permintaan asal:** Semua

## CORS- CustomOrigin
<a name="managed-origin-request-policy-cors-custom"></a>

[Lihat kebijakan ini di CloudFront konsol](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/59781a5b-3903-41f3-afcb-af62929ccde1)

Kebijakan ini mencakup tajuk yang memungkinkan permintaan pembagian sumber daya lintas negara asal (CORS) ketika asal merupakan asal usul khusus.

Saat menggunakan CloudFormation, the AWS CLI, atau CloudFront API, ID untuk kebijakan ini adalah:

`59781a5b-3903-41f3-afcb-af62929ccde1`

Kebijakan ini memiliki pengaturan berikut:
+ **Header termasuk dalam permintaan asal:**
  + `Origin`
+ **Cookie yang disertakan dalam permintaan asal:** Tidak ada
+ **String kueri yang disertakan dalam permintaan asal:** Tidak ada

## CORS-S3asal
<a name="managed-origin-request-policy-cors-s3"></a>

[Lihat kebijakan ini di CloudFront konsol](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/88a5eaf4-2fd4-4709-b370-b4c650ea3fcf)

Kebijakan ini mencakup header yang memungkinkan permintaan pembagian sumber daya lintas negara asal (CORS) ketika asalnya adalah keranjang Amazon S3.

Saat menggunakan CloudFormation, the AWS CLI, atau CloudFront API, ID untuk kebijakan ini adalah:

`88a5eaf4-2fd4-4709-b370-b4c650ea3fcf`

Kebijakan ini memiliki pengaturan berikut:
+ **Header termasuk dalam permintaan asal:**
  + `Origin`
  + `Access-Control-Request-Headers`
  + `Access-Control-Request-Method`
+ **Cookie yang disertakan dalam permintaan asal:** Tidak ada
+ **String kueri yang disertakan dalam permintaan asal:** Tidak ada

## Elemental- - MediaTailor PersonalizedManifests
<a name="managed-origin-request-policy-mediatailor"></a>

[Lihat kebijakan ini di CloudFront konsol](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/775133bc-15f2-49f9-abea-afb2e0bf67d2)

Kebijakan ini dimaksudkan untuk digunakan dengan asal yang merupakan AWS Elemental MediaTailor titik akhir.

Saat menggunakan CloudFormation, the AWS CLI, atau CloudFront API, ID untuk kebijakan ini adalah:

`775133bc-15f2-49f9-abea-afb2e0bf67d2`

Kebijakan ini memiliki pengaturan berikut:
+ **Header termasuk dalam permintaan asal:**
  + `Origin`
  + `Access-Control-Request-Headers`
  + `Access-Control-Request-Method`
  + `User-Agent`
  + `X-Forwarded-For`
+ **Cookie yang disertakan dalam permintaan asal:** Tidak ada
+ **String kueri yang disertakan dalam permintaan asal:** Semua

## HostHeaderOnly
<a name="managed-origin-request-policy-host-header-only"></a>

[Lihat kebijakan ini di CloudFront konsol](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/bf0718e1-ba1e-49d1-88b1-f726733018ae)

Kebijakan ini hanya mencakup `Host` header dari permintaan asal. Itu tidak termasuk string kueri atau cookie.

Saat menggunakan CloudFormation, the AWS CLI, atau CloudFront API, ID untuk kebijakan ini adalah:

`bf0718e1-ba1e-49d1-88b1-f726733018ae`

Kebijakan ini memiliki pengaturan berikut:
+ **Header termasuk dalam permintaan asal: Host**
+ **Cookie yang disertakan dalam permintaan asal:** Tidak ada
+ **String kueri yang disertakan dalam permintaan asal:** Tidak ada

## UserAgentRefererHeaders
<a name="managed-origin-request-policy-user-agent-referer"></a>

[Lihat kebijakan ini di CloudFront konsol](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/acba4595-bd28-49b8-b9fe-13317c0390fa)

Kebijakan ini hanya mencakup `User-Agent` dan `Referer` yang berbeda. Itu tidak termasuk string kueri atau cookie.

Saat menggunakan CloudFormation, the AWS CLI, atau CloudFront API, ID untuk kebijakan ini adalah:

`acba4595-bd28-49b8-b9fe-13317c0390fa`

Kebijakan ini memiliki pengaturan berikut:
+ **Header termasuk dalam permintaan asal:**
  + `User-Agent`
  + `Referer`
+ **Cookie yang disertakan dalam permintaan asal:** Tidak ada
+ **String kueri yang disertakan dalam permintaan asal:** Tidak ada

# Tambahkan header CloudFront permintaan
<a name="adding-cloudfront-headers"></a>

Anda dapat mengonfigurasi CloudFront untuk menambahkan header HTTP tertentu ke permintaan yang CloudFront diterima dari pemirsa dan meneruskan ke fungsi asal atau [tepi](edge-functions.md) Anda. Nilai header HTTP ini didasarkan pada karakteristik penampil atau permintaan penampil. Header memberikan informasi tentang jenis perangkat penampil, alamat IP, lokasi geografis, protokol permintaan (HTTP atau HTTPS), versi HTTP, detail koneksi TLS, [JA3 sidik jari, dan sidik jari](https://github.com/salesforce/ja3). JA4 Anda juga dapat mengonfigurasi perilaku cache distribusi Anda untuk meneruskan WebSocket header. Untuk informasi selengkapnya, lihat [Gunakan WebSockets dengan CloudFront distribusi](distribution-working-with.websockets.md).

Dengan header ini, asal Anda atau fungsi tepi Anda dapat menerima informasi tentang penampil tanpa perlu Anda menulis kode Anda sendiri untuk menentukan informasi ini. Jika asal Anda mengembalikan respons yang berbeda berdasarkan informasi di header ini, Anda dapat memasukkannya ke dalam *kunci CloudFront cache* sehingga menyimpan respons secara terpisah. Misalnya, asal Anda mungkin merespons dengan konten dalam bahasa tertentu berdasarkan negara tempat pemirsa berada, atau dengan konten yang disesuaikan dengan jenis perangkat tertentu. Origin Anda mungkin juga menulis header ini ke file log, yang dapat Anda gunakan untuk menentukan informasi tentang tempat pemirsa Anda berada, jenis perangkat yang mereka gunakan, dan banyak lagi.

Untuk menyertakan header ini di tombol cache, gunakan *kebijakan cache*. Untuk informasi selengkapnya, lihat [Mengontrol kunci cache dengan kebijakan](controlling-the-cache-key.md) dan [Memahami kunci cache](understanding-the-cache-key.md).

Untuk menerima header ini di asal Anda tetapi tidak memasukkannya ke dalam kunci cache, gunakan *kebijakan permintaan asal*. Untuk informasi selengkapnya, lihat [Kontrol permintaan asal dengan kebijakan](controlling-origin-requests.md).

**Topics**
+ [Header jenis perangkat](#cloudfront-headers-device-type)
+ [Header lokasi penampil](#cloudfront-headers-viewer-location)
+ [Header untuk menentukan struktur header pemirsa](#cloudfront-headers-viewer-headers)
+ [Header terkait TLS](#tls-related-versions)
+ [CloudFront Header lainnya](#cloudfront-headers-other)

## Header jenis perangkat
<a name="cloudfront-headers-device-type"></a>

Anda dapat menambahkan header berikut untuk menentukan jenis perangkat pemirsa. Berdasarkan nilai `User-Agent` header, CloudFront tetapkan nilai header ini ke `true` atau`false`. Jika perangkat jatuh ke dalam lebih dari satu kategori, lebih dari satu nilai bisa`true`. Misalnya, untuk beberapa perangkat tablet, CloudFront atur keduanya `CloudFront-Is-Mobile-Viewer` dan `CloudFront-Is-Tablet-Viewer` ke`true`.
+ `CloudFront-Is-Android-Viewer` – Dipasang pada `true` saat CloudFront menentukan bahwa penampil adalah perangkat dengan sistem operasi Android.
+ `CloudFront-Is-Desktop-Viewer` – Dipasang pada `true` saat CloudFront menentukan bahwa penampil adalah perangkat desktop.
+ `CloudFront-Is-IOS-Viewer`— Setel ke `true` kapan CloudFront menentukan bahwa penampil adalah perangkat dengan sistem operasi seluler Apple, seperti iPhone, iPod touch, dan beberapa perangkat iPad.
+ `CloudFront-Is-Mobile-Viewer` – Dipasang pada `true` saat CloudFront menentukan bahwa penampil adalah perangkat seluler.
+ `CloudFront-Is-SmartTV-Viewer` – Dipasang pada `true` saat CloudFront menentukan bahwa pengunjung adalah TV pintar.
+ `CloudFront-Is-Tablet-Viewer` – Dipasang pada `true` saat CloudFront menentukan apakah penampil adalah tablet.

## Header lokasi penampil
<a name="cloudfront-headers-viewer-location"></a>

Anda dapat menambahkan header berikut untuk menentukan lokasi pemirsa. CloudFront menentukan nilai untuk header ini berdasarkan alamat IP penampil. [Untuk karakter non-ASCII dalam nilai header ini, CloudFront persentase mengkodekan karakter menurut bagian 1.2 dari RFC 3986.](https://tools.ietf.org/html/rfc3986#section-2.1)
+ `CloudFront-Viewer-Address`— Berisi alamat IP penampil dan port sumber permintaan. Misalnya, nilai header `198.51.100.10:46532` berarti alamat IP penampil adalah 198.51.100.10 dan port sumber permintaan adalah 46532.
+ `CloudFront-Viewer-ASN`— Berisi nomor sistem otonom (ASN) dari pemirsa.
**catatan**  
`CloudFront-Viewer-Address`dan `CloudFront-Viewer-ASN` dapat ditambahkan dalam kebijakan permintaan asal, tetapi tidak dalam kebijakan cache.
+ `CloudFront-Viewer-Country`— Berisi kode negara dua huruf untuk negara pemirsa. Untuk daftar kode negara, lihat [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
+ `CloudFront-Viewer-City`— Berisi nama kota pemirsa.

Saat Anda menambahkan header berikut, CloudFront terapkan ke semua permintaan *kecuali* yang berasal dari jaringan: AWS 
+ `CloudFront-Viewer-Country-Name`— Berisi nama negara pemirsa.
+ `CloudFront-Viewer-Country-Region`— Berisi kode (hingga tiga karakter) yang mewakili wilayah pemirsa. Wilayah ini adalah subdivisi tingkat pertama (terluas atau paling tidak spesifik) dari [kode ISO](https://en.wikipedia.org/wiki/ISO_3166-2) 3166-2.
+ `CloudFront-Viewer-Country-Region-Name`— Berisi nama wilayah pemirsa. Wilayah ini adalah subdivisi tingkat pertama (terluas atau paling tidak spesifik) dari [kode ISO](https://en.wikipedia.org/wiki/ISO_3166-2) 3166-2.
+ `CloudFront-Viewer-Latitude`— Berisi perkiraan garis lintang pemirsa.
+ `CloudFront-Viewer-Longitude`— Berisi perkiraan bujur pemirsa.
+ `CloudFront-Viewer-Metro-Code`— Berisi kode metro pemirsa. Ini hanya ada saat penampil berada di Amerika Serikat.
+ `CloudFront-Viewer-Postal-Code`— Berisi kode pos pemirsa.
+ `CloudFront-Viewer-Time-Zone`Berisi zona waktu pemirsa, dalam [format database zona waktu IANA](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) (misalnya,`America/Los_Angeles`).

**catatan**  
`CloudFront-Viewer-City`,`CloudFront-Viewer-Metro-Code`, dan `CloudFront-Viewer-Postal-Code` mungkin tidak tersedia untuk setiap alamat IP. Beberapa alamat IP tidak dapat geolokasi dengan spesifisitas yang cukup untuk mendapatkan informasi itu.

## Header untuk menentukan struktur header pemirsa
<a name="cloudfront-headers-viewer-headers"></a>

Anda dapat menambahkan header berikut untuk membantu mengidentifikasi penampil berdasarkan header yang dikirimkannya. Misalnya, browser yang berbeda dapat mengirim header HTTP dalam urutan tertentu. Jika browser yang ditentukan di `User-Agent` header tidak cocok dengan urutan header yang diharapkan browser tersebut, Anda dapat menolak permintaan tersebut. Selain itu, jika `CloudFront-Viewer-Header-Count` nilainya tidak sesuai dengan jumlah header`CloudFront-Viewer-Header-Order`, Anda dapat menolak permintaan tersebut.
+ `CloudFront-Viewer-Header-Order`— Berisi nama header pemirsa dalam urutan yang diminta, dipisahkan oleh titik dua. Sebagai contoh: `CloudFront-Viewer-Header-Order: Host:User-Agent:Accept:Accept-Encoding`. Header di luar batas karakter 7.680 terpotong.
+ `CloudFront-Viewer-Header-Count`— Berisi jumlah total header pemirsa.

## Header terkait TLS
<a name="tls-related-versions"></a>

Anda dapat menambahkan header berikut untuk menentukan JA3 sidik jari, sidik jari, JA4 dan detail koneksi TLS pemirsa:
+ `CloudFront-Viewer-JA3-Fingerprint`— Berisi [JA3 sidik jari](https://github.com/salesforce/ja3) penampil. JA3 Sidik jari dapat membantu Anda menentukan apakah permintaan tersebut berasal dari klien yang dikenal, apakah itu malware atau bot berbahaya, atau aplikasi yang diharapkan (diizinkan terdaftar). 
+ `CloudFront-Viewer-JA4-Fingerprint`— Berisi JA4 sidik jari penampil. Mirip dengan JA3 [JA4 sidik jari, sidik jari](https://github.com/FoxIO-LLC/ja4) dapat membantu Anda menentukan apakah permintaan tersebut berasal dari klien yang dikenal, apakah itu malware atau bot berbahaya, atau aplikasi yang diharapkan (diizinkan terdaftar). Anda dapat menggunakan sidik jari untuk membangun database aktor baik dan buruk yang dikenal untuk diterapkan saat memeriksa permintaan HTTP. Anda kemudian dapat memeriksa nilai header di server web aplikasi Anda atau di [Lambda](lambda-at-the-edge.md) @Edge [CloudFront dan](cloudfront-functions.md) Fungsi Anda untuk membandingkan nilai header dengan daftar sidik jari malware yang diketahui untuk memblokir klien jahat.
+ `CloudFront-Viewer-TLS`— Berisi SSL/TLS versi, sandi, dan informasi tentang SSL/TLS jabat tangan yang digunakan untuk koneksi antara pemirsa dan. CloudFront Nilai header dalam format berikut:

  ```
  SSL/TLS_version:cipher:handshake_information
  ```

  Untuk`handshake_information`, header dapat berisi nilai-nilai berikut:
  + `fullHandshake`— Jabat tangan penuh dilakukan untuk SSL/TLS sesi tersebut.
  + `sessionResumed`— SSL/TLS Sesi sebelumnya dilanjutkan.
  + `connectionReused`— SSL/TLS Koneksi sebelumnya digunakan kembali.

  Berikut ini adalah beberapa contoh nilai untuk header ini:

  ```
  TLSv1.3:TLS_AES_128_GCM_SHA256:sessionResumed
  ```

  ```
  TLSv1.2:ECDHE-ECDSA-AES128-GCM-SHA256:connectionReused
  ```

  ```
  TLSv1.1:ECDHE-RSA-AES128-SHA256:fullHandshake
  ```

  ```
  TLSv1:ECDHE-RSA-AES256-SHA:fullHandshake
  ```

  Untuk daftar lengkap kemungkinan SSL/TLS versi dan cipher yang dapat berada dalam nilai header ini, lihat. [Protokol dan sandi yang didukung antara pemirsa dan CloudFront](secure-connections-supported-viewer-protocols-ciphers.md)

**Catatan**  
 JA4 Sidik jari JA3 dan sidik jari berasal dari SSL/TLS `Client Hello` paket. Mereka hanya hadir untuk permintaan HTTPS.
[Untuk header terkait TLS ini, Anda dapat menambahkannya ke [kebijakan permintaan asal, tetapi tidak dalam kebijakan](controlling-origin-requests.md) cache.](controlling-the-cache-key.md)

## CloudFront Header lainnya
<a name="cloudfront-headers-other"></a>

Anda dapat menambahkan header berikut untuk menentukan URI permintaan asli penampil, parameter dan nilai string kueri permintaan asli, protokol, dan versi:
+ `CloudFront-Error-Uri`— Berisi URI permintaan asli yang diterima dari penampil.
+ `CloudFront-Error-Args`— Berisi parameter dan nilai string permintaan permintaan asli.
+ `CloudFront-Forwarded-Proto`— Berisi protokol permintaan pemirsa (HTTP atau HTTPS).
+ `CloudFront-Viewer-Http-Version`— Berisi versi HTTP dari permintaan pemirsa.

# Memahami bagaimana kebijakan permintaan asal dan kebijakan cache bekerja sama
<a name="understanding-how-origin-request-policies-and-cache-policies-work-together"></a>

Anda dapat menggunakan [kebijakan permintaan CloudFront asal](controlling-origin-requests.md) untuk mengontrol permintaan yang CloudFront dikirim ke asal, yang disebut *permintaan asal*. Untuk menggunakan kebijakan permintaan asal, Anda harus melampirkan [kebijakan cache](controlling-the-cache-key.md) ke perilaku cache yang sama. Anda tidak dapat menggunakan kebijakan permintaan asal dalam perilaku cache tanpa kebijakan cache. Untuk informasi selengkapnya, lihat [Kontrol permintaan asal dengan kebijakan](controlling-origin-requests.md).

Kebijakan permintaan asal dan kebijakan cache bekerja sama untuk menentukan nilai yang CloudFront disertakan dalam permintaan asal. Semua string kueri URL, header HTTP, dan cookie yang Anda tentukan dalam kunci cache (menggunakan kebijakan cache) secara otomatis disertakan dalam permintaan asal. Setiap string kueri tambahan, header, dan cookie yang Anda tentukan dalam kebijakan permintaan asal juga disertakan dalam permintaan asal (tetapi tidak dalam kunci cache).

Kebijakan permintaan asal dan kebijakan cache memiliki pengaturan yang mungkin tampak bertentangan satu sama lain. Misalnya, satu kebijakan mungkin mengizinkan nilai tertentu sementara kebijakan lain memblokirnya. Tabel berikut menjelaskan nilai mana yang CloudFront disertakan dalam permintaan asal saat Anda menggunakan setelan kebijakan permintaan asal dan kebijakan cache secara bersamaan. Pengaturan ini umumnya berlaku untuk semua jenis nilai (string kueri, header, dan cookie), dengan pengecualian bahwa Anda tidak dapat menentukan semua header atau menggunakan daftar blok header dalam kebijakan cache.


|  |  **Kebijakan permintaan asal**  |  |  **Tidak ada**  |  **Semua**  |  **Izinkan daftar**  |  **Daftar blokir**  | 
| --- | --- | --- | --- | --- | --- | --- | 
|  **Kebijakan cache**  | 
|  **Tidak ada**  |  Tidak ada nilai dari permintaan penampil yang disertakan dalam permintaan asal, kecuali untuk default yang disertakan dalam setiap permintaan asal. Untuk informasi selengkapnya, lihat [Kontrol permintaan asal dengan kebijakan](controlling-origin-requests.md).  |  Semua nilai dari permintaan penampil disertakan dalam permintaan asal.  |  Hanya nilai yang ditentukan dalam kebijakan permintaan asal yang disertakan dalam permintaan asal.  |  Semua nilai dari permintaan penampil ***kecuali*** yang ditentukan dalam kebijakan permintaan asal disertakan dalam permintaan asal.  | 
|  **Semua** **Catatan:** Anda tidak dapat menentukan semua header dalam kebijakan cache.  |  Semua string kueri dan cookie dari permintaan penampil disertakan dalam permintaan asal.  |  Semua nilai dari permintaan penampil disertakan dalam permintaan asal.  |  Semua string kueri dan cookie dari permintaan penampil, dan header apa pun yang ditentukan dalam kebijakan permintaan asal, disertakan dalam permintaan asal.  |  Semua string kueri dan cookie dari permintaan penampil disertakan dalam permintaan asal, bahkan yang ditentukan dalam daftar blokir kebijakan permintaan asal. Pengaturan kebijakan cache akan mengganti daftar blokir kebijakan permintaan asal.  | 
|  **Izinkan daftar**  |  Hanya nilai yang ditentukan dari permintaan penampil yang disertakan dalam permintaan asal.  |  Semua nilai dari permintaan penampil disertakan dalam permintaan asal.  |  Semua nilai yang ditentukan dalam kebijakan cache atau kebijakan permintaan asal disertakan dalam permintaan asal.  |  Nilai yang ditentukan dalam kebijakan cache disertakan dalam permintaan asal, meskipun nilai yang sama tersebut ditentukan dalam daftar blok kebijakan permintaan asal. Daftar izin kebijakan cache mengesampingkan daftar blokir kebijakan permintaan asal.  | 
|  **Daftar blokir** **Catatan:** Anda tidak dapat menentukan header dalam daftar blok kebijakan cache.  |  Semua string kueri dan cookie dari permintaan penampil ***kecuali*** yang ditentukan disertakan dalam permintaan asal.  |  Semua nilai dari permintaan penampil disertakan dalam permintaan asal.  |  Nilai yang ditentukan dalam kebijakan permintaan asal disertakan dalam permintaan asal, meskipun nilai yang sama tersebut ditentukan dalam daftar blok kebijakan cache. Daftar izin kebijakan permintaan asal mengesampingkan daftar blokir kebijakan cache.  |  Semua nilai dari permintaan penampil ***kecuali*** yang ditentukan dalam kebijakan cache atau kebijakan permintaan asal disertakan dalam permintaan asal.  | 