

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

# Pendengar untuk Classic Load Balancer Anda
<a name="elb-listener-config"></a>

Sebelum mulai menggunakan Elastic Load Balancing, Anda harus mengonfigurasi satu atau lebih *pendengar untuk Classic Load Balancer* Anda. Listener adalah proses memeriksa permintaan koneksi. Ini dikonfigurasi dengan protokol dan port untuk koneksi front-end (client to load balancer), dan protokol dan port untuk koneksi back-end (load balancer to back-end instance).

Elastic Load Balancing mendukung protokol berikut:
+ HTTP
+ HTTPS (HTTP aman)
+ TCP
+ SSL (TCP aman)

Protokol HTTPS menggunakan protokol SSL untuk membangun koneksi aman melalui lapisan HTTP. Anda juga dapat menggunakan protokol SSL untuk membuat koneksi aman melalui lapisan TCP.

Jika koneksi front-end menggunakan TCP atau SSL, maka koneksi back-end Anda dapat menggunakan TCP atau SSL. Jika koneksi front-end menggunakan HTTP atau HTTPS, maka koneksi back-end Anda dapat menggunakan HTTP atau HTTPS.

Instans back-end dapat mendengarkan pada port 1-65535.

Load balancer dapat mendengarkan pada port berikut: 1-65535

**Topics**
+ [Protokol](#elb-listener-protocols)
+ [HTTPS/SSL pendengar](#https-ssl-listeners)
+ [Konfigurasi pendengar untuk Classic Load Balancers](using-elb-listenerconfig-quickref.md)
+ [Header HTTP dan Classic Load Balancer](x-forwarded-headers.md)

## Protokol
<a name="elb-listener-protocols"></a>

Komunikasi untuk aplikasi web biasa melewati lapisan perangkat keras dan perangkat lunak. Setiap lapisan menyediakan fungsi komunikasi tertentu. Kontrol atas fungsi komunikasi diteruskan dari satu lapisan ke lapisan berikutnya, secara berurutan. Open System Interconnection (OSI) mendefinisikan kerangka model untuk menerapkan format standar untuk komunikasi, yang disebut *protokol*, di lapisan-lapisan ini. Untuk informasi lebih lanjut, lihat [model OSI](https://en.wikipedia.org/wiki/OSI_model) di Wikipedia.

Saat Anda menggunakan Elastic Load Balancing, Anda memerlukan pemahaman dasar tentang layer 4 dan layer 7. Layer 4 adalah layer transport yang menjelaskan koneksi Transmission Control Protocol (TCP) antara klien dan instance back-end Anda, melalui load balancer. Layer 4 adalah level terendah yang dapat dikonfigurasi untuk penyeimbang beban Anda. Layer 7 adalah layer aplikasi yang menjelaskan penggunaan koneksi Hypertext Transfer Protocol (HTTP) dan HTTPS (secure HTTP) dari klien ke load balancer dan dari load balancer ke instance back-end Anda.

Protokol Secure Sockets Layer (SSL) terutama digunakan untuk mengenkripsi data rahasia melalui jaringan yang tidak aman seperti internet. Protokol SSL menetapkan koneksi aman antara klien dan server back-end, dan memastikan bahwa semua data yang dilewatkan antara klien Anda dan server Anda bersifat pribadi dan integral.

### Protokol TCP/SSL
<a name="using-elb-tcp-layer4"></a>

Saat Anda menggunakan TCP (layer 4) untuk koneksi front-end dan back-end, penyeimbang beban Anda meneruskan permintaan ke instance back-end tanpa memodifikasi header. Setelah penyeimbang beban Anda menerima permintaan, ia mencoba membuka koneksi TCP ke instance back-end pada port yang ditentukan dalam konfigurasi listener.

Karena penyeimbang beban mencegat lalu lintas antara klien dan instance back-end Anda, log akses untuk instance back-end Anda berisi alamat IP penyeimbang beban, bukan klien asal. Anda dapat mengaktifkan protokol proxy, yang menambahkan header dengan informasi koneksi klien, seperti alamat IP sumber, alamat IP tujuan, dan nomor port. Header kemudian dikirim ke instance back-end sebagai bagian dari permintaan. Anda dapat mengurai baris pertama dalam permintaan untuk mengambil informasi koneksi. Untuk informasi selengkapnya, lihat [Konfigurasikan protokol proxy untuk Classic Load Balancer](enable-proxy-protocol.md).

Dengan menggunakan konfigurasi ini, Anda tidak menerima cookie untuk kekakuan sesi atau header X-Forwarded.

### Protokol HTTP/HTTPS
<a name="using-elb-http-layer7"></a>

Saat Anda menggunakan HTTP (lapisan 7) untuk koneksi front-end dan back-end, penyeimbang beban Anda mem-parsing header dalam permintaan sebelum mengirim permintaan ke instance back-end.

Untuk setiap instans terdaftar dan sehat di belakang penyeimbang HTTP/HTTPS beban, Elastic Load Balancing membuka dan memelihara satu atau lebih koneksi TCP. Koneksi ini memastikan bahwa selalu ada koneksi yang siap menerima permintaan HTTP/HTTPS.

Permintaan HTTP dan respons HTTP menggunakan bidang header untuk mengirim informasi tentang pesan HTTP. Elastic Load Balancing mendukung `X-Forwarded-For` header. 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 header permintaan `X-Forwarded-For`. Untuk informasi selengkapnya, lihat [X-Diteruskan-Untuk](x-forwarded-headers.md#x-forwarded-for).

Saat Anda menggunakan HTTP/HTTPS, Anda dapat mengaktifkan sesi lengket pada penyeimbang beban Anda. Sesi lengket mengikat sesi pengguna ke instance back-end tertentu. Ini memastikan bahwa semua permintaan yang datang dari pengguna selama sesi dikirim ke instance back-end yang sama. Untuk informasi selengkapnya, lihat [Konfigurasikan sesi lengket untuk Classic Load Balancer](elb-sticky-sessions.md).

Tidak semua ekstensi HTTP didukung di penyeimbang beban. Anda mungkin perlu menggunakan pendengar TCP jika penyeimbang beban tidak dapat menghentikan permintaan karena metode yang tidak terduga, kode respons, atau implementasi HTTP 1.0/1.1 non-standar lainnya.

## HTTPS/SSL pendengar
<a name="https-ssl-listeners"></a>

Anda dapat membuat penyeimbang beban dengan fitur keamanan berikut.

### Sertifikat server SSL
<a name="ssl-cert"></a>

Jika Anda menggunakan HTTPS atau SSL untuk koneksi front-end Anda, Anda harus menerapkan sertifikat X.509 (sertifikat server SSL) pada penyeimbang beban Anda. *Load balancer mendekripsi permintaan dari klien sebelum mengirimnya ke instance back-end (dikenal sebagai penghentian SSL).* Untuk informasi selengkapnya, lihat [Sertifikat SSL/TLS untuk Classic Load Balancer](ssl-server-cert.md).

Jika Anda tidak ingin penyeimbang beban menangani penghentian SSL (dikenal sebagai *pembongkaran SSL*), Anda dapat menggunakan TCP untuk koneksi front-end dan back-end, dan menerapkan sertifikat pada instans terdaftar yang menangani permintaan.

### Negosiasi SSL
<a name="using-elb-cipher-settings"></a>

Elastic Load Balancing menyediakan konfigurasi negosiasi SSL yang telah ditentukan sebelumnya yang digunakan untuk negosiasi SSL ketika koneksi dibuat antara klien dan penyeimbang beban Anda. *Konfigurasi negosiasi SSL menyediakan kompatibilitas dengan berbagai klien dan menggunakan algoritma kriptografi berkekuatan tinggi yang disebut cipher.* Namun, beberapa kasus penggunaan mungkin memerlukan semua data di jaringan untuk dienkripsi dan hanya mengizinkan cipher tertentu. Beberapa standar kepatuhan keamanan (seperti PCI, SOX, dan sebagainya) mungkin memerlukan seperangkat protokol dan sandi khusus dari klien untuk memastikan bahwa standar keamanan terpenuhi. Dalam kasus seperti itu, Anda dapat membuat konfigurasi negosiasi SSL khusus, berdasarkan persyaratan spesifik Anda. Cipher dan protokol Anda akan berlaku dalam waktu 30 detik. Untuk informasi selengkapnya, lihat [Konfigurasi negosiasi SSL untuk Classic Load Balancer](elb-ssl-security-policy.md).

### Autentikasi server back-end
<a name="using-elb-backend-auth"></a>

Jika Anda menggunakan HTTPS atau SSL untuk koneksi back-end Anda, Anda dapat mengaktifkan otentikasi instans terdaftar Anda. Anda kemudian dapat menggunakan proses otentikasi untuk memastikan bahwa instans hanya menerima komunikasi terenkripsi, dan untuk memastikan bahwa setiap instans terdaftar memiliki kunci publik yang benar.

Untuk informasi selengkapnya, lihat [Mengkonfigurasi Autentikasi Server Back-end](elb-create-https-ssl-load-balancer.md#configure_backendauth_clt).

# Konfigurasi pendengar untuk Classic Load Balancers
<a name="using-elb-listenerconfig-quickref"></a>

Tabel berikut menjelaskan kemungkinan konfigurasi untuk pendengar HTTP dan HTTPS untuk Classic Load Balancer.


| Kasus penggunaan | Protokol front-end | Opsi front-end | Protokol back-end | Opsi back-end | Catatan | 
| --- | --- | --- | --- | --- | --- | 
| Penyeimbang beban HTTP dasar | HTTP | TA | HTTP | TA |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/elasticloadbalancing/latest/classic/using-elb-listenerconfig-quickref.html)  | 
| Amankan situs web atau aplikasi menggunakan Elastic Load Balancing untuk membongkar dekripsi SSL | HTTPS | [Negosiasi SSL](elb-ssl-security-policy.md) | HTTP | TA |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/elasticloadbalancing/latest/classic/using-elb-listenerconfig-quickref.html)  | 
| Amankan situs web atau aplikasi menggunakan end-to-end enkripsi | HTTPS | [Negosiasi SSL](elb-ssl-security-policy.md) | HTTPS | Otentikasi back-end |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/elasticloadbalancing/latest/classic/using-elb-listenerconfig-quickref.html)  | 

Tabel berikut menjelaskan kemungkinan konfigurasi untuk pendengar TCP dan SSL untuk Classic Load Balancer.


| Kasus penggunaan | Protokol front-end | Opsi front-end | Protokol back-end | Opsi back-end | Catatan | 
| --- | --- | --- | --- | --- | --- | 
| Penyeimbang beban TCP dasar | TCP | TA | TCP | TA |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/elasticloadbalancing/latest/classic/using-elb-listenerconfig-quickref.html)  | 
| Amankan situs web atau aplikasi menggunakan Elastic Load Balancing untuk membongkar dekripsi SSL | SSL | [Negosiasi SSL](elb-ssl-security-policy.md) | TCP | TA |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/elasticloadbalancing/latest/classic/using-elb-listenerconfig-quickref.html)  | 
| Amankan situs web atau aplikasi menggunakan end-to-end enkripsi dengan Elastic Load Balancing | SSL | [Negosiasi SSL](elb-ssl-security-policy.md) | SSL | Otentikasi back-end |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/elasticloadbalancing/latest/classic/using-elb-listenerconfig-quickref.html)  | 

# Header HTTP dan Classic Load Balancer
<a name="x-forwarded-headers"></a>

Permintaan HTTP dan respons HTTP menggunakan bidang header untuk mengirim informasi tentang pesan HTTP. 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 Pesan](https://datatracker.ietf.org/doc/html/rfc2616#section-4.2). Ada juga header HTTP non-standar yang tersedia (dan ditambahkan secara otomatis) yang banyak digunakan oleh aplikasi. Beberapa header HTTP non-standar memiliki awalan `X-Forwarded`. Classic Load Balancers mendukung header berikut`X-Forwarded`.

Untuk informasi lebih lanjut tentang koneksi HTTP, lihat [Permintaan perutean](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#request-routing) di *Panduan Pengguna Elastic Load Balancing*.

**Prasyarat**
+ Konfirmasikan bahwa pengaturan listener Anda mendukung header X-Forwarded. Untuk informasi selengkapnya, lihat [Konfigurasi pendengar untuk Classic Load Balancers](using-elb-listenerconfig-quickref.md).
+ Konfigurasikan server web Anda untuk mencatat alamat IP klien.

**Topics**
+ [X-Diteruskan-Untuk](#x-forwarded-for)
+ [X-Diteruskan-Proto](#x-forwarded-proto)
+ [Port-X-Diteruskan](#x-forwarded-port)

## X-Diteruskan-Untuk
<a name="x-forwarded-for"></a>

Header `X-Forwarded-For` permintaan ditambahkan secara otomatis dan 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 header permintaan `X-Forwarded-For`. Elastic Load Balancing menyimpan alamat IP klien dalam header permintaan `X-Forwarded-For` meneruskan header ke server Anda. Jika header permintaan `X-Forwarded-For` tidak disertakan dalam permintaan, penyeimbang beban membuat satu dengan alamat IP klien sebagai nilai permintaan. Jika tidak, penyeimbang beban menambahkan alamat IP klien ke header yang ada dan meneruskan header ke server Anda. Header permintaan `X-Forwarded-For` mungkin berisi beberapa alamat IP yang dipisahkan koma. Alamat paling kiri adalah IP klien tempat permintaan pertama kali dibuat. Ini diikuti oleh pengidentifikasi proxy berikutnya, dalam sebuah rantai.

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 alamat`2001:DB8::21f:5bff:febf:ce22:8a2e`.

```
X-Forwarded-For: 2001:DB8::21f:5bff:febf:ce22:8a2e
```

## X-Diteruskan-Proto
<a name="x-forwarded-proto"></a>

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
<a name="x-forwarded-port"></a>

Header permintaan `X-Forwarded-Port` membantu Anda mengidentifikasi port tujuan yang digunakan klien untuk menyambung ke penyeimbang beban.