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-ForHeader 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
preserveMode dalam atribut memastikan bahwa X-Forwarded-For header dalam permintaan HTTP tidak dimodifikasi dengan cara apa pun sebelum dikirim ke target.
Hapus
removeMode 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.