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 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:

Sebelum memulai

Identifikasi server dengan SNI aktif

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 (Router Edge atau server backend) tanpa meneruskan nama server, seperti yang ditunjukkan di bawah ini:
    openssl s_client -connect hostname:port
    
  2. 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
    
  3. 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
    
  4. 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.
  5. 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:

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

Temukan token untuk properti jsse.enableSNIExtension

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

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

  1. 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
    
  2. Tambahkan baris dalam format berikut ke file properti:
    conf_system_jsse.enableSNIExtension=true
    
  3. Simpan perubahan.
  4. Pastikan file properti ini dimiliki oleh pengguna apigee seperti yang ditunjukkan di bawah:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Mulai ulang Pemroses 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 Pemroses Pesan.
  7. 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.

  1. 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
    
  2. 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
    
  3. Simpan perubahan.
  4. Pastikan file properti ini dimiliki oleh pengguna apigee seperti yang ditunjukkan di bawah:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Mulai ulang Pemroses 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 Pemroses Pesan.
  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 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.

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