Tambahkan header CloudFront permintaan - Amazon CloudFront

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

Tambahkan header CloudFront permintaan

Anda dapat mengonfigurasi CloudFront untuk menambahkan HTTP header tertentu ke permintaan yang CloudFront diterima dari pemirsa dan meneruskan ke fungsi asal atau tepi Anda. Nilai HTTP header ini didasarkan pada karakteristik pemirsa atau permintaan pemirsa. Header memberikan informasi tentang jenis perangkat penampil, alamat IP, lokasi geografis, protokol permintaan (HTTPatauHTTPS), HTTP versi, detail TLS koneksi, JA3sidik jari, dan JA4 sidik jari.

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, silakan lihat Kontrol kunci cache dengan kebijakan dan Memahami kunci cache.

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.

Header untuk menentukan jenis perangkat pemirsa

Anda dapat menambahkan header berikut untuk menentukan jenis perangkat pemirsa. Berdasarkan nilai User-Agent header, CloudFront tetapkan nilai header ini ke true ataufalse. Jika perangkat jatuh ke dalam lebih dari satu kategori, lebih dari satu nilai bisatrue. Misalnya, untuk beberapa perangkat tablet, CloudFront atur keduanya CloudFront-Is-Mobile-Viewer dan CloudFront-Is-Tablet-Viewer ketrue.

  • CloudFront-Is-Android-Viewer— Atur ke true kapan CloudFront menentukan bahwa penampil adalah perangkat dengan sistem operasi Android.

  • CloudFront-Is-Desktop-Viewer— Atur ke true kapan 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, sepertiiPhone, iPod sentuh, dan beberapa iPad perangkat.

  • CloudFront-Is-Mobile-Viewer— Setel ke true kapan CloudFront menentukan bahwa penampil adalah perangkat seluler.

  • CloudFront-Is-SmartTV-Viewer— Atur ke true kapan CloudFront menentukan bahwa pemirsa adalah TV pintar.

  • CloudFront-Is-Tablet-Viewer— Atur ke true kapan CloudFront menentukan bahwa penampil adalah tablet.

Header untuk menentukan lokasi pemirsa

Anda dapat menambahkan header berikut untuk menentukan lokasi pemirsa. CloudFront menentukan nilai untuk header ini berdasarkan alamat IP penampil. Untuk ASCII non-karakter dalam nilai header ini, CloudFront persentase mengkodekan karakter menurut bagian 1.2 dari 3986. RFC

  • 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-Addressdan 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 ISO3166-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

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

Anda dapat menambahkan header berikut untuk membantu mengidentifikasi penampil berdasarkan header yang dikirimkannya. Misalnya, browser yang berbeda dapat mengirim HTTP header 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 headerCloudFront-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.

CloudFront Header lainnya

Anda dapat menambahkan header berikut untuk menentukan permintaan asli penampilURI, parameter dan nilai string kueri permintaan asli, protokol, versi, JA3 sidik jari, dan detail TLS koneksi:

  • CloudFront-Error-Args— Berisi permintaan asli URI yang diterima dari pemirsa.

  • CloudFront-Error-Uri— Berisi parameter dan nilai string permintaan permintaan asli.

  • CloudFront-Forwarded-Proto— Berisi protokol permintaan pemirsa (HTTPatauHTTPS).

  • CloudFront-Viewer-Http-Version— Berisi HTTP versi permintaan pemirsa.

  • CloudFront-Viewer-JA3-Fingerprint— Berisi JA3sidik jari penampil. JA3Sidik 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). Header ini bergantung pada TLS Client Hello paketSSL/pemirsa dan hanya ada untuk HTTPS permintaan.

    catatan

    Anda dapat menambahkan CloudFront-Viewer-JA3-Fingerprint kebijakan permintaan asal, tetapi tidak dalam kebijakan cache.

  • CloudFront-Viewer-TLS— Berisi SSL/TLS version, the cipher, and information about the SSL/TLS jabat tangan yang digunakan untuk koneksi antara pemirsa dan CloudFront. Nilai header dalam format berikut:

    SSL/TLS_version:cipher:handshake_information

    Untukhandshake_information, header dapat berisi nilai-nilai berikut:

    • fullHandshake— Jabat tangan penuh dilakukan untuk TLS sesiSSL/.

    • sessionResumed— TLS Sesi SSL sebelumnya/dilanjutkan.

    • connectionReused— TLS Koneksi SSL 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 kemungkinanSSL/TLSversi dan cipher yang dapat berada dalam nilai header ini, lihat. Protokol dan cipher yang didukung antara pemirsa dan CloudFront

    catatan

    Anda dapat menambahkan CloudFront-Viewer-TLS kebijakan permintaan asal, tetapi tidak dalam kebijakan cache.