Mengonfigurasi SNI antara Pemroses Pesan Edge dan server backend

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:

Sebelum memulai

Identifikasi server yang mendukung SNI

Bagian ini menjelaskan cara mengidentifikasi apakah server backend mengaktifkan SNI atau tidak.

  1. 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
    
  2. 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
    
  3. 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
    
  4. 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.
  5. 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:

  1. Menemukan token untuk properti jsse.enableSNIExtension
  2. Mengaktifkan SNI di Pemroses Pesan

Temukan token untuk properti jsse.enableSNIExtension

Langkah-langkah berikut menjelaskan cara menemukan token untuk properti jsse.enableSNIExtension:

  1. 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
    
  2. 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.

  1. 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
    

  2. Tambahkan baris dalam format berikut ke file properti:
    conf_system_jsse.enableSNIExtension=true
    
  3. Simpan perubahan Anda.
  4. Pastikan file properti ini dimiliki oleh pengguna apigee seperti yang ditunjukkan di bawah ini:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Mulai ulang Prosesor Pesan seperti yang ditunjukkan di bawah ini:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Pastikan konfigurasi SNI telah diperbarui di Message Processor.
  7. 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.

  1. 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
    

  2. 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
    
  3. Simpan perubahan Anda.
  4. Pastikan file properti ini dimiliki oleh pengguna apigee seperti yang ditunjukkan di bawah ini:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Mulai ulang Prosesor Pesan seperti yang ditunjukkan di bawah ini:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Pastikan konfigurasi SNI telah diperbarui di Message Processor.
  7. 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.

  1. 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
    
  2. 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 baru true atau false di system.properties. Hal ini menunjukkan bahwa SNI berhasil diaktifkan atau dinonaktifkan pada Pemroses Pesan.

  3. 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.
  4. Jika Anda masih tidak dapat mengaktifkan/menonaktifkan SNI , hubungi Dukungan Apigee Edge.