Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Server Name Indication (SNI) memungkinkan beberapa target HTTPS ditayangkan dari alamat IP dan port yang sama tanpa mengharuskan target tersebut menggunakan sertifikat TLS yang sama. Jika SNI diaktifkan di klien, klien akan meneruskan nama host endpoint target sebagai bagian dari handshake TLS awal. Hal ini memungkinkan server TLS menentukan sertifikat TLS mana yang harus digunakan untuk memvalidasi permintaan.
Misalnya, jika target permintaan adalah https://example.com/request/path,
maka klien TLS akan menambahkan ekstensi server_name ke permintaan handshake TLS, seperti yang ditunjukkan di bawah:

Edge mendukung SNI untuk:
- Permintaan dari aplikasi klien ke proxy API. Dalam skenario ini, Edge bertindak sebagai server TLS
- Permintaan dari Edge ke backend. Dalam skenario ini, Edge bertindak sebagai klien TLS.
Untuk informasi tambahan tentang SNI, lihat:
- https://en.wikipedia.org/wiki/Server_Name_Indication
- http://blog.layershift.com/sni-ssl-production-ready/
Mendukung SNI untuk permintaan ke proxy API di Edge
Dukungan SNI untuk permintaan ke proxy API dikontrol oleh alias host dan host virtual.
Tentang host virtual dan alias host
Dengan Edge, host virtual menentukan alamat IP dan port, atau nama DNS dan port, tempat proxy API diekspos dan, dengan demikian, URL yang digunakan aplikasi untuk mengakses proxy API. Nama IP/DNS sesuai dengan Edge Router, dan nomor port adalah port terbuka di Router.
Saat membuat host virtual, Anda juga menentukan alias host dari host virtual.
Biasanya ini adalah nama DNS host virtual. Sebagai bagian dari penentuan proxy API yang menangani permintaan, Router membandingkan header Host dari permintaan masuk dengan daftar alias host yang tersedia yang ditentukan oleh semua host virtual.
Kombinasi alias host dan nomor port untuk host virtual harus unik untuk semua host virtual dalam penginstalan Edge. Artinya, beberapa host virtual dapat menggunakan nomor port yang sama jika memiliki alias host yang berbeda.
Host virtual juga menentukan apakah proxy API diakses menggunakan protokol HTTP, atau menggunakan protokol HTTPS terenkripsi menggunakan TLS. Saat mengonfigurasi host virtual untuk menggunakan HTTPS, kaitkan host virtual dengan keystore yang berisi sertifikat dan kunci pribadi yang digunakan oleh host virtual selama handshake TLS.
Untuk informasi tambahan tentang host virtual, lihat:
Cara kerja SNI dengan alias host
SNI memungkinkan Anda memiliki beberapa host virtual yang ditentukan di port yang sama, masing-masing dengan
sertifikat dan kunci TLS yang berbeda. Kemudian, Edge menentukan host virtual, dan pasangan sertifikat/kunci yang digunakan oleh TLS,
berdasarkan ekstensi server_name
dalam permintaan handshake TLS.
Edge Router membaca ekstensi server_name dalam permintaan handshake TLS, lalu menggunakannya untuk menelusuri alias host dari semua host virtual. Jika Router mendeteksi kecocokan dengan alias host, Router akan menggunakan sertifikat dan kunci TLS dari
host virtual yang terkait dengan alias host. Jika tidak ditemukan kecocokan, handshake TLS akan gagal.
Daripada membuat handshake TLS gagal, Anda dapat menentukan pasangan sertifikat/kunci default, seperti yang dijelaskan di bagian berikutnya.
Menentukan pasangan sertifikat/kunci default di Edge for the Cloud
Apigee menyediakan sertifikat TLS dan kunci pribadi untuk mendukung HTTPS. Meskipun banyak pelanggan lebih memilih menggunakan sertifikat dan kunci pribadi mereka sendiri pada waktu deployment, Anda dapat men-deploy API menggunakan sertifikat dan kunci Apigee.
Di Edge untuk Cloud, jika Router tidak dapat mencocokkan header SNI dengan alias host atau jika klien tidak mendukung SNI, Router akan menggunakan sertifikat default yang disediakan oleh Apigee, yaitu *.apigee.net.
Menentukan pasangan sertifikat/kunci default di Edge untuk Private Cloud
Di Edge untuk Private Cloud, jika tidak ada kecocokan antara ekstensi server_name dan alias host
dari semua host virtual, atau jika klien yang meminta tidak mendukung SNI, Anda dapat mengonfigurasi
Router untuk menggunakan sertifikat/kunci dari host virtual default di port. Host virtual default ditentukan oleh kombinasi nama organisasi, nama lingkungan, dan nama host virtual, dalam bentuk:
orgName_envName_vhName
Router menggunakan sertifikat/kunci dari kombinasi orgName_envName_vhName yang
muncul pertama dalam urutan abjad. Misalnya, permintaan masuk di port 443, dan ada
dua host virtual yang ditentukan untuk org example di lingkungan prod:
- nama host virtual =
default - nama host virtual =
test
Dalam contoh ini, Router menggunakan sertifikat/kunci dari host virtual bernama default
karena example_prod_default secara alfabetis berada sebelum example_prod_test.
Untuk mengaktifkan host virtual default:
- Di node Router pertama, edit
/opt/apigee/customer/application/router.properties. Jika file tersebut tidak ada, buat file tersebut. - Tambahkan properti berikut ke file untuk memungkinkan Anda menentukan host virtual default:
conf_load_balancing_load.balancing.driver.nginx.fallback.conf.enabled=true
- Mulai Ulang Router:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Ulangi langkah-langkah ini di semua Router yang tersisa.
Daripada menggunakan sertifikat/kunci dari host virtual default, Anda dapat menentukan sertifikat/kunci default secara eksplisit di Router. Gunakan prosedur berikut untuk menentukan pasangan sertifikat/kunci default eksplisit:
- Di node Router pertama, salin sertifikat dan kunci pribadi ke lokasi di node Router
yang dapat diakses oleh pengguna Apigee. Misalnya,
/opt/apigee/customer/application. - Ubah kepemilikan file menjadi 'apigee. user:
chown apigee:apigee /opt/apigee/customer/application/myCert.pem
chown apigee:apigee /opt/apigee/customer/application/myKey.pem
- Edit
/opt/apigee/customer/application/router.properties. Jika file tersebut tidak ada, buat file tersebut. - Tambahkan properti berikut ke file agar Anda dapat menentukan sertifikat/kunci default:
conf_load_balancing_load.balancing.driver.nginx.fallback.server.default.ssl.template.enabled=true
conf_load_balancing_load.balancing.driver.nginx.fallback.conf.enabled=true - Tetapkan properti berikut di
router.propertiesuntuk menentukan lokasi sertifikat dan kunci:conf_load_balancing_load.balancing.driver.nginx.ssl.cert=/opt/apigee/customer/application/myCert.pem conf_load_balancing_load.balancing.driver.nginx.ssl.key=/opt/apigee/customer/application/myKey.pem
- Mulai Ulang Router:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Ulangi langkah-langkah ini di semua Router yang tersisa.
Mendukung SNI untuk permintaan dari Edge ke backend
Edge mendukung penggunaan SNI dari Pemroses Pesan ke endpoint target dalam deployment Apigee Edge untuk Cloud dan untuk Private Cloud. Secara default, SNI diaktifkan di Pemroses Pesan Edge untuk Cloud dan dinonaktifkan di Private Cloud.
Menggunakan SNI ke backend di Edge untuk Private Cloud
Untuk Edge for Private Cloud, agar kompatibel dengan backend target yang ada, Apigee menonaktifkan SNI secara default. Jika backend target dikonfigurasi untuk mendukung SNI, Anda dapat mengaktifkan fitur ini seperti yang dijelaskan di bawah untuk versi Edge Anda.
Tidak diperlukan konfigurasi khusus Edge lainnya. Jika lingkungan target Anda dikonfigurasi untuk SNI, Edge mendukungnya. Edge otomatis mengekstrak nama host dari URL permintaan dan menambahkannya ke permintaan handshake TLS.
Mengaktifkan SNI antara Edge dan backend untuk Edge versi 4.15.07.0x
Gunakan prosedur berikut untuk mengaktifkan SNI:
- Di node Message Processor pertama, buka file
/opt/apigee4/conf/apigee/message-processor/system.propertiesdi editor. - Tetapkan properti berikut ke benar (true) di
system.properties:jsse.enableSNIExtension=true
- Mulai Ulang Pemroses Pesan:
/opt/apigee4/bin/apigee-service message-processor restart
- Ulangi langkah-langkah ini di semua Pemroses Pesan yang tersisa.
Mengaktifkan SNI antara Edge dan backend untuk Edge versi 4.16.01 dan yang lebih baru
Gunakan prosedur berikut untuk mengaktifkan SNI:
- Pada node Message Processor pertama, edit
/opt/apigee/customer/application/message-processor.properties. Jika file tersebut tidak ada, buat file tersebut. - Tambahkan properti berikut ke file:
conf_system_jsse.enableSNIExtension=true
- Mulai ulang Pemroses Pesan:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Ulangi langkah-langkah ini di semua Pemroses Pesan yang tersisa.