Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Server Name Indication (SNI) memungkinkan beberapa server backend HTTPS ditayangkan di Alamat IP dan port tanpa mengharuskan server backend tersebut menggunakan sertifikat TLS yang sama. Ini adalah ekstensi dari protokol TLS. Jika SNI diaktifkan pada klien, klien tersebut akan dianggap lulus nama host server backend sebagai bagian dari handshake TLS awal. Hal ini memungkinkan TLS untuk menentukan sertifikat TLS yang harus digunakan untuk memvalidasi permintaan dari dengan klien besar.
Secara default, SNI dinonaktifkan pada komponen Pemroses Pesan di Edge untuk Private Cloud untuk memastikan kompatibilitas mundur dengan server backend yang ada. Jika server backend Anda dikonfigurasikan agar mendukung SNI, maka Anda harus mengaktifkan SNI pada komponen Pemroses Pesan. Jika tidak, permintaan API melalui Apigee Edge akan gagal dengan Kegagalan Handshake TLS.
Dokumen ini menjelaskan cara melakukan hal berikut:
- Mengidentifikasi apakah server backend mengaktifkan SNI atau tidak
- Mengaktifkan SNI pada Pemroses Pesan agar dapat berkomunikasi dengan backend server yang mendukung SNI
- Nonaktifkan SNI pada Pemroses Pesan jika diperlukan
- Memverifikasi bahwa konfigurasi SNI telah berhasil diperbarui di Pemroses Pesan
Sebelum memulai
- Jika Anda belum memahami SNI, baca Menggunakan SNI dengan edge.
- Jika Anda tidak terbiasa mengonfigurasi Edge di Private Cloud, baca Cara mengonfigurasi Edge.
Identifikasi server dengan SNI aktif
Bagian ini menjelaskan cara mengidentifikasi apakah server backend mengaktifkan SNI atau tidak.
-
Jalankan perintah
openssl
dan coba hubungkan ke nama host server yang relevan (Router Edge atau server backend) tanpa meneruskan nama server, seperti yang ditunjukkan di bawah ini:openssl s_client -connect hostname:port
-
Anda akan mendapatkan sertifikat dan terkadang Anda
mungkin mengamati kegagalan {i>handshake <i}di
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 server yang relevan nama host (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 {i>handshake <i}di langkah 1 atau mendapatkan sertifikat berbeda pada langkah 1 dan langkah 2, kemudian itu menunjukkan bahwa Server yang ditentukan mengaktifkan SNI.
- Jika Anda ingin memverifikasinya untuk lebih dari satu server backend, Anda harus ulangi langkah-langkah di atas untuk setiap server backend.
Jika Anda menemukan bahwa Anda memiliki satu atau lebih server backend yang mengaktifkan SNI, Anda perlu aktifkan SNI pada komponen Pemroses Pesan seperti yang dijelaskan di bawah. Jika tidak, API permintaan melalui Apigee Edge akan gagal dengan Kegagalan Handshake TLS.
Aktifkan SNI antara Prosesor Pesan Edge dan server backend
Bagian ini menjelaskan cara mengaktifkan SNI antara Pemroses Pesan Edge dan backend
server tertentu. SNI dapat diaktifkan melalui properti jsse.enableSNIExtension
di
komponen Pemroses Pesan. Untuk mengonfigurasi properti apa pun di Pemroses Pesan, gunakan
token sesuai dengan sintaks 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
jsse.enableSNIExtension
properti:
-
Telusuri properti
jsse.enableSNIExtension
di sumber Pemroses Pesan direktori/opt/apigee/edge-message-processor/source
menggunakan perintah berikut:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
-
Output perintah ini menampilkan token untuk properti Pemroses Pesan
jsse.enableSNIExtension
sebagai berikut:/opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}
Di mana string di antara tag
{T}{/T}
adalah nama token yang yang dapat Anda setel di 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 pada komponen Pemroses Pesan Apigee.
- Di komputer Message Processor, buka file berikut di editor. Jika tidak
sudah ada, maka buatlah.
/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.
-
Pastikan file properti ini dimiliki oleh pengguna
apigee
seperti yang ditunjukkan di bawah:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Mulai ulang Pemroses Pesan seperti yang ditunjukkan di bawah ini:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Pastikan konfigurasi SNI telah diperbarui di Pemroses Pesan.
- Jika Anda memiliki lebih dari satu Pemroses Pesan, ulangi langkah-langkah di atas pada semua Pemroses Pesan.
Nonaktifkan SNI antara Prosesor Pesan Edge dan server backend
Umumnya, Anda tidak akan melihat masalah apa pun setelah mengaktifkan SNI. Namun, jika Anda mengamati masalah konektivitas antara Pemroses Pesan Edge dan server backend setelah mengaktifkan SNI, Anda dapat menonaktifkan SNI kapan saja dengan melakukan langkah-langkah berikut.
SNI dapat dinonaktifkan dengan menyetel properti jsse.enableSNIExtension
kembali ke false
pada komponen Pemroses Pesan.
Nonaktifkan SNI pada Pemroses Pesan
Langkah-langkah berikut menjelaskan cara menonaktifkan SNI di Pemroses Pesan Apigee.
-
Di komputer Message Processor, buka file berikut di editor. Jika tidak
sudah ada, maka buatlah.
/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
, lalu ubah sebagai berikut ini:conf_system_jsse.enableSNIExtension=false
- Simpan perubahan.
-
Pastikan file properti ini dimiliki oleh pengguna
apigee
seperti yang ditunjukkan di bawah:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Mulai ulang Pemroses Pesan seperti yang ditunjukkan di bawah ini:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Pastikan konfigurasi SNI telah diperbarui di Pemroses Pesan.
- 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 Message Processors.
Meskipun Anda menggunakan token conf_system_jsse.enableSNIExtension
untuk
pada Pemroses Pesan, Anda perlu memverifikasi bahwa properti yang sebenarnya
jsse.enableSNIExtension
telah ditetapkan dengan nilai baru.
-
Di mesin Pemroses Pesan, telusuri properti
jsse.enableSNIExtension
di direktori/opt/apigee/edge-message-processor/conf
dan periksa untuk melihat apakah direktori telah 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 Pemroses Pesan, maka
di atas menunjukkan 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 pada 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
, memverifikasi 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 dengan benar. - Jika masih tidak dapat mengaktifkan/menonaktifkan SNI , hubungi Dukungan Apigee Edge.