Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Server Name Indication (SNI) memungkinkan beberapa server backend HTTPS disalurkan dari alamat IP dan port yang sama tanpa mengharuskan server backend tersebut menggunakan sertifikat TLS yang sama. Ini adalah ekstensi dari protokol TLS. Saat SNI diaktifkan pada klien, klien akan meneruskan nama host server backend sebagai bagian dari handshake TLS awal. Hal ini memungkinkan server TLS untuk menentukan sertifikat TLS yang harus digunakan untuk memvalidasi permintaan dari klien.
Secara default, SNI dinonaktifkan pada komponen Message Processor di Edge untuk Private Cloud guna memastikan kompatibilitas mundur dengan server backend yang ada. Jika server backend Anda dikonfigurasi untuk mendukung SNI, Anda harus mengaktifkan SNI pada komponen Pemroses Pesan. Jika tidak, permintaan API yang melalui Apigee Edge akan gagal dengan Kegagalan Handshake TLS.
Dokumen ini menjelaskan cara melakukan hal berikut:
- Mengidentifikasi apakah server backend mengaktifkan SNI atau tidak
- Aktifkan SNI pada Pemroses Pesan untuk berkomunikasi dengan server backend yang mendukung SNI
- Nonaktifkan SNI pada Message Processors jika diperlukan
- Verifikasi bahwa konfigurasi SNI telah berhasil diperbarui di Pemroses Pesan
Sebelum memulai
- Jika Anda belum terbiasa dengan SNI, baca Menggunakan SNI dengan tepi.
- Jika Anda tidak terbiasa mengonfigurasi Edge di Private Cloud, baca Cara mengonfigurasi Edge.
Identifikasi server yang mendukung SNI
Bagian ini menjelaskan cara mengidentifikasi apakah server backend mengaktifkan SNI atau tidak.
-
Jalankan perintah
openssl
dan coba hubungkan ke nama host server yang relevan (Edge Router atau server backend) tanpa meneruskan nama server, seperti yang ditunjukkan di bawah:openssl s_client -connect hostname:port
-
Anda mungkin mendapatkan sertifikat dan terkadang Anda mungkin melihat kegagalan handshake pada
perintah
openssl
, seperti yang ditunjukkan di bawah ini:
CONNECTED(00000003) 9362:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.50.6/src/ssl/s23_clnt.c:593
-
Jalankan perintah
openssl
dan coba hubungkan ke nama host server yang relevan (router Edge atau server backend) dengan meneruskan nama server seperti yang ditunjukkan di bawah ini:openssl s_client -connect hostname:port -servername hostname
- Jika Anda mengalami kegagalan handshake pada langkah 1 atau mendapatkan sertifikat yang berbeda pada langkah 1 dan langkah 2, maka ini menunjukkan bahwa Server yang ditentukan telah mengaktifkan SNI.
- Jika ingin memverifikasinya untuk lebih dari satu server backend, Anda harus mengulangi langkah-langkah di atas untuk setiap server backend.
Jika Anda menemukan bahwa Anda memiliki satu atau beberapa server backend yang mengaktifkan SNI, maka Anda perlu mengaktifkan SNI pada komponen Pemroses Pesan seperti yang dijelaskan di bawah ini. Jika tidak, permintaan API yang melewati Apigee Edge akan gagal dengan Kegagalan Handshake TLS.
Aktifkan SNI antara Edge Message Processors dan server backend
Bagian ini menjelaskan cara mengaktifkan SNI antara Edge Message Processor dan server backend. SNI dapat diaktifkan melalui properti jsse.enableSNIExtension
pada komponen Pemroses Pesan. Untuk mengonfigurasi properti apa pun pada Pemroses Pesan, gunakan token sesuai dengan sintaksis yang dijelaskan dalam Cara mengonfigurasi Edge.
Untuk mengaktifkan SNI pada Pemroses Pesan, lakukan langkah-langkah berikut:
Temukan token untuk properti jsse.enableSNIExtension
Langkah-langkah berikut menjelaskan cara menemukan token untuk
properti jsse.enableSNIExtension
:
-
Telusuri properti
jsse.enableSNIExtension
di direktori sumber Pemroses Pesan/opt/apigee/edge-message-processor/source
menggunakan perintah berikut:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
-
Output perintah ini menunjukkan token untuk properti Message Processor
jsse.enableSNIExtension
sebagai berikut:/opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}
Dengan string di antara tag
{T}{/T}
adalah nama token yang dapat Anda tetapkan dalam file.properties
Pemroses Pesan.Dengan demikian, token untuk properti
jsse.enableSNIExtension
adalah sebagai berikut:conf_system_jsse.enableSNIExtension
Mengaktifkan SNI pada Pemroses Pesan
Langkah-langkah berikut menjelaskan cara mengaktifkan SNI di komponen Apigee Message Processor.
- Di mesin Message Processor, buka file berikut di editor. Jika belum ada, maka buat.
/opt/apigee/customer/application/message-processor.properties
Misalnya, untuk membuka file menggunakan
vi
, masukkan perintah berikut:vi /opt/apigee/customer/application/message-processor.properties
-
Tambahkan baris dalam format berikut ke file properti:
conf_system_jsse.enableSNIExtension=true
- Simpan perubahan Anda.
-
Pastikan file properti ini dimiliki oleh pengguna
apigee
seperti yang ditunjukkan di bawah ini:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Mulai ulang Prosesor Pesan seperti yang ditunjukkan di bawah ini:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Pastikan konfigurasi SNI telah diperbarui di Message Processor.
- Jika Anda memiliki lebih dari satu Pemroses Pesan, ulangi langkah-langkah di atas pada semua Pemroses Pesan.
Nonaktifkan SNI antara Edge Message Processors dan server backend
Umumnya Anda tidak akan melihat masalah apa pun setelah mengaktifkan SNI. Namun, jika Anda menemukan masalah konektivitas antara Edge Message Processor dan server backend setelah mengaktifkan SNI, Anda dapat menonaktifkan SNI kapan saja dengan melakukan langkah-langkah berikut.
SNI dapat dinonaktifkan dengan menyetel kembali properti jsse.enableSNIExtension
ke false
pada komponen Pemroses Pesan.
Nonaktifkan SNI di Pemroses Pesan
Langkah-langkah berikut menjelaskan cara menonaktifkan SNI di Apigee Message Processors.
-
Di mesin Message Processor, buka file berikut di editor. Jika belum ada, maka buat.
/opt/apigee/customer/application/message-processor.properties
Misalnya, untuk membuka file menggunakan
vi
, masukkan perintah berikut:vi /opt/apigee/customer/application/message-processor.properties
-
Jika baris
conf_system_jsse.enableSNIExtension=true
ada di/opt/apigee/customer/application/message-processor.properties
, ubah baris tersebut sebagai berikut:conf_system_jsse.enableSNIExtension=false
- Simpan perubahan Anda.
-
Pastikan file properti ini dimiliki oleh pengguna
apigee
seperti yang ditunjukkan di bawah ini:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Mulai ulang Prosesor Pesan seperti yang ditunjukkan di bawah ini:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Pastikan konfigurasi SNI telah diperbarui di Message Processor.
- Jika Anda memiliki lebih dari satu Pemroses Pesan, ulangi langkah-langkah di atas pada semua Pemroses Pesan.
Memverifikasi Konfigurasi SNI pada Pemroses Pesan
Bagian ini menjelaskan cara memverifikasi bahwa konfigurasi SNI telah berhasil diperbarui di Pemroses Pesan.
Meskipun Anda menggunakan token conf_system_jsse.enableSNIExtension
untuk mengonfigurasi SNI pada Pemroses Pesan, Anda harus memverifikasi bahwa properti sebenarnya
jsse.enableSNIExtension
telah ditetapkan dengan nilai baru.
-
Pada mesin Message Processor, telusuri properti
jsse.enableSNIExtension
dalam direktori/opt/apigee/edge-message-processor/conf
dan periksa apakah properti tersebut telah ditetapkan dengan nilai baru, seperti yang ditunjukkan di bawah ini:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
-
Jika konfigurasi SNI berhasil diperbarui pada Message Processor, perintah di atas akan menampilkan nilai baru dalam file
system.properties
.Contoh hasil dari perintah di atas setelah Anda mengaktifkan SNI pada Pemroses Pesan adalah sebagai berikut:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=true
Demikian pula, contoh hasil dari perintah di atas setelah Anda menonaktifkan SNI di Pemroses Pesan adalah sebagai berikut:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=false
Pada contoh output di atas, perhatikan bahwa properti
jsse.enableSNIExtension
telah diperbarui ke nilai barutrue
ataufalse
disystem.properties
. Hal ini menunjukkan bahwa SNI berhasil diaktifkan atau dinonaktifkan pada Pemroses Pesan. -
Jika Anda masih melihat nilai lama untuk properti
jsse.enableSNIExtension
, pastikan bahwa Anda telah mengikuti semua langkah yang diuraikan di bagian yang sesuai untuk mengaktifkan atau menonaktifkan SNI dengan benar. Jika Anda melewatkan langkah apa pun, ulangi semua langkah lagi dengan benar. - Jika Anda masih tidak dapat mengaktifkan/menonaktifkan SNI , hubungi Dukungan Apigee Edge.