Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Header HTTP dan Application Load Balancer
Permintaan HTTP dan respons HTTP menggunakan bidang header untuk mengirim informasi tentang pesan HTTP. Header HTTP ditambahkan secara otomatis. Bidang header adalah pasangan nama-nilai yang dipisahkan titik dua yang dipisahkan oleh carriage return (CR) dan line feed (LF). Satu set standar bidang header HTTP didefinisikan dalam RFC 2616, Header PesanX-Forwarded
. Application Load Balancer mendukung header X-Forwarded
berikut.
Untuk informasi lebih lanjut tentang koneksi HTTP, lihat Permintaan perutean di Panduan Pengguna Elastic Load Balancing.
Header X-Diteruskan
X-Diteruskan-Untuk
Header X-Forwarded-For
permintaan membantu Anda mengidentifikasi alamat IP klien saat Anda menggunakan penyeimbang beban HTTP atau HTTPS. Karena penyeimbang beban mencegat lalu lintas antara klien dan server, log akses server Anda hanya berisi alamat IP penyeimbang beban. Untuk melihat alamat IP klien, gunakan routing.http.xff_header_processing.mode
atribut. Atribut ini memungkinkan Anda untuk memodifikasi, mempertahankan, atau menghapus X-Forwarded-For
header dalam permintaan HTTP sebelum Application Load Balancer mengirimkan permintaan ke target. Nilai yang mungkin untuk atribut ini adalahappend
,preserve
, danremove
. Nilai default untuk atribut ini adalahappend
.
penting
X-Forwarded-For
Header harus digunakan dengan hati-hati karena potensi risiko keamanan. Entri hanya dapat dianggap dapat dipercaya jika ditambahkan oleh sistem yang diamankan dengan benar dalam jaringan.
Mode pemrosesan
Menambahkan
Secara default, Application Load Balancer menyimpan alamat IP klien di header X-Forwarded-For
permintaan dan meneruskan header ke server Anda. Jika header X-Forwarded-For
permintaan tidak disertakan dalam permintaan asli, penyeimbang beban membuat satu dengan alamat IP klien sebagai nilai permintaan. Jika tidak, penyeimbang beban menambahkan alamat IP klien ke header yang ada dan kemudian meneruskan header ke server Anda. Header permintaan X-Forwarded-For
mungkin berisi beberapa alamat IP yang dipisahkan koma.
Header permintaan X-Forwarded-For
memiliki bentuk berikut:
X-Forwarded-For: client-ip-address
Berikut adalah contoh header permintaan X-Forwarded-For
untuk klien dengan alamat IP 203.0.113.7
.
X-Forwarded-For: 203.0.113.7
Berikut ini adalah contoh header X-Forwarded-For
permintaan untuk klien dengan IPv6 alamat2001:DB8::21f:5bff:febf:ce22:8a2e
.
X-Forwarded-For: 2001:DB8::21f:5bff:febf:ce22:8a2e
Ketika atribut pelestarian port klien (routing.http.xff_client_port.enabled
) diaktifkan pada penyeimbang beban, header X-Forwarded-For
permintaan menyertakan yang client-port-number
ditambahkan keclient-ip-address
, dipisahkan oleh titik dua. Header kemudian mengambil bentuk berikut:
IPv4 -- X-Forwarded-For: client-ip-address
:client-port-number
IPv6 -- X-Forwarded-For: [client-ip-address]
:client-port-number
Untuk IPv6, perhatikan bahwa ketika penyeimbang beban menambahkan client-ip-address
ke header yang ada, itu melampirkan alamat dalam tanda kurung siku.
Berikut ini adalah contoh header X-Forwarded-For
permintaan untuk klien dengan IPv4 alamat 12.34.56.78
dan nomor port8080
.
X-Forwarded-For: 12.34.56.78:8080
Berikut ini adalah contoh header X-Forwarded-For
permintaan untuk klien dengan IPv6 alamat 2001:db8:85a3:8d3:1319:8a2e:370:7348
dan nomor port8080
.
X-Forwarded-For: [2001:db8:85a3:8d3:1319:8a2e:370:7348]:8080
Pertahankan
preserve
Mode dalam atribut memastikan bahwa X-Forwarded-For
header dalam permintaan HTTP tidak dimodifikasi dengan cara apa pun sebelum dikirim ke target.
Menghapus
remove
Mode dalam atribut menghapus X-Forwarded-For
header dalam permintaan HTTP sebelum dikirim ke target.
Jika Anda mengaktifkan atribut pelestarian port klien (routing.http.xff_client_port.enabled
), dan juga memilih preserve
atau remove
untuk routing.http.xff_header_processing.mode
atribut, Application Load Balancer akan mengganti atribut pelestarian port klien. Itu membuat X-Forwarded-For
header tidak berubah, atau menghapusnya tergantung pada mode yang Anda pilih, sebelum mengirimkannya ke target.
Tabel berikut menunjukkan contoh X-Forwarded-For
header yang diterima target ketika Anda memilih salah satuappend
, preserve
atau remove
mode. Dalam contoh ini, alamat IP dari hop terakhir adalah127.0.0.1
.
Minta deskripsi | Contoh permintaan | append | preserve | remove |
---|---|---|---|---|
Permintaan dikirim tanpa header XFF | GET /index.html HTTP/1.1 Host: example.com |
X-Forwarded-For: 127.0.0.1 |
Tidak hadir | Tidak hadir |
Permintaan dikirim dengan header XFF dan alamat IP klien. | GET /index.html HTTP/1.1 Host: example.com X-Forwarded-For:
127.0.0.4 |
X-Forwarded-For: 127.0.0.4, 127.0.0.1 |
X-Forwarded-For: 127.0.0.4 |
Tidak hadir |
Permintaan dikirim dengan header XFF dengan beberapa alamat IP klien. | GET /index.html HTTP/1.1 Host: example.com X-Forwarded-For:
127.0.0.4, 127.0.0.8 |
X-Forwarded-For: 127.0.0.4, 127.0.0.8,
127.0.0.1 |
X-Forwarded-For: 127.0.0.4, 127.0.0.8 |
Tidak hadir |
X-Diteruskan-Proto
Header permintaan X-Forwarded-Proto
membantu Anda mengidentifikasi protokol (HTTP atau HTTPS) yang digunakan klien untuk terhubung ke penyeimbang beban Anda. Log akses server Anda hanya berisi protokol yang digunakan antara server dan penyeimbang beban; mereka tidak berisi informasi tentang protokol yang digunakan antara klien dan penyeimbang beban. Untuk menentukan protokol yang digunakan antara klien dan penyeimbang beban, gunakan header permintaan X-Forwarded-Proto
. Elastic Load Balancing menyimpan protokol yang digunakan antara klien dan penyeimbang beban di header permintaan X-Forwarded-Proto
dan meneruskan headerdan meneruskan tajuk ke server Anda ke server Anda.
Aplikasi atau situs web Anda dapat menggunakan protokol yang tersimpan di header permintaan X-Forwarded-Proto
untuk membuat respons yang mengarahkan ke URL yang sesuai.
Header permintaan X-Forwarded-Proto
mengambil bentuk berikut:
X-Forwarded-Proto: originatingProtocol
Contoh berikut berisi header permintaan X-Forwarded-Proto
untuk permintaan yang berasal dari klien sebagai permintaan HTTPS:
X-Forwarded-Proto: https
Port-X-Diteruskan
Header permintaan X-Forwarded-Port
membantu Anda mengidentifikasi port tujuan yang digunakan klien untuk menyambung ke penyeimbang beban.