Định cấu hình SNI giữa bộ xử lý thông báo Edge và máy chủ phụ trợ

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Dịch vụ Chỉ báo tên máy chủ (SNI) cho phép nhiều máy chủ phụ trợ HTTPS được phân phát qua cùng một địa chỉ IP và cổng mà không yêu cầu các máy chủ phụ trợ đó sử dụng cùng một chứng chỉ TLS. Đây là phần mở rộng của giao thức TLS. Khi KDDI được bật trên một ứng dụng, ứng dụng sẽ truyền tên máy chủ của máy chủ phụ trợ trong quá trình bắt tay TLS ban đầu. Điều này cho phép máy chủ TLS xác định nên sử dụng chứng chỉ TLS nào để xác thực yêu cầu từ ứng dụng.

Theo mặc định, SafeFrame sẽ bị tắt trên thành phần Trình xử lý thư trong Edge cho Đám mây riêng tư để đảm bảo khả năng tương thích ngược với các máy chủ phụ trợ hiện có. Nếu máy chủ phụ trợ của bạn được định cấu hình để hỗ trợ OpenSSL, thì bạn cần bật KDDI trên thành phần Trình xử lý thông báo. Nếu không, các yêu cầu API đi qua Apigee Edge sẽ không thành công do không thành công khi giao tiếp qua TLS.

Tài liệu này giải thích cách thực hiện những việc sau:

Trước khi bắt đầu

Nhận dạng máy chủ đã bật DDEX

Phần này mô tả cách xác định xem một máy chủ phụ trợ có được bật Akamai hay không.

  1. Thực thi lệnh openssl và cố gắng kết nối với tên máy chủ có liên quan (Bộ định tuyến cạnh hoặc máy chủ phụ trợ) mà không cần truyền tên máy chủ, như minh hoạ dưới đây:
    openssl s_client -connect hostname:port
    
  2. Bạn có thể nhận được chứng chỉ và đôi khi bạn có thể thấy lỗi bắt tay trong lệnh openssl, như minh hoạ dưới đây:
    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. Thực thi lệnh openssl và cố gắng kết nối với tên máy chủ liên quan (bộ định tuyến cạnh hoặc máy chủ phụ trợ) bằng cách truyền tên máy chủ như đoạn mã bên dưới:
    openssl s_client -connect hostname:port -servername hostname
    
  4. Nếu bạn gặp lỗi bắt tay ở bước 1 hoặc nhận được các chứng chỉ khác ở bước 1 và bước 2, thì tức là Máy chủ được chỉ định đang bật DEX.
  5. Nếu muốn xác minh tình trạng này cho nhiều máy chủ phụ trợ, bạn cần lặp lại các bước trên cho từng máy chủ phụ trợ.

Nếu nhận thấy rằng mình có một hoặc nhiều máy chủ phụ trợ đang bật DEX, thì bạn cần bật Akamai trên thành phần Trình xử lý thông báo như giải thích bên dưới. Nếu không, các yêu cầu API đi qua Apigee Edge sẽ không thành công do không thành công khi giao tiếp qua TLS.

Bật KDDI giữa Bộ xử lý thông báo Edge và máy chủ phụ trợ

Phần này giải thích cách bật DDEX giữa Trình xử lý thông báo Edge và máy chủ phụ trợ. Bạn có thể bật DEX thông qua thuộc tính jsse.enableSNIExtension trên thành phần Trình xử lý tin nhắn. Để định cấu hình bất kỳ thuộc tính nào trên Trình xử lý thông báo, hãy sử dụng mã thông báo theo cú pháp được mô tả trong phần Cách định cấu hình Edge.

Để bật DEX trên Bộ xử lý thư, hãy thực hiện các bước sau:

  1. Tìm mã thông báo cho thuộc tính jsse.enableSNIExtension
  2. Bật sFTP trên Bộ xử lý thông báo

Tìm mã thông báo của thuộc tính jsse.enableSNIExtension

Các bước sau đây mô tả cách tìm mã thông báo cho thuộc tính jsse.enableSNIExtension:

  1. Tìm kiếm thuộc tính jsse.enableSNIExtension trong thư mục nguồn Trình xử lý thông báo /opt/apigee/edge-message-processor/source bằng lệnh sau:
    grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
    
  2. Kết quả của lệnh này cho thấy mã thông báo cho thuộc tính của Trình xử lý thông báo jsse.enableSNIExtension như sau:
    /opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}
    

    Trong đó chuỗi giữa các thẻ {T}{/T} là tên của mã thông báo mà bạn có thể đặt trong tệp .properties của Trình xử lý thông báo.

    Do đó, mã thông báo cho thuộc tính jsse.enableSNIExtension như sau:

    conf_system_jsse.enableSNIExtension
    

Bật KDDI trên Bộ xử lý thông báo

Các bước sau đây mô tả cách bật SafeFrame trên thành phần Trình xử lý thư Apigee.

  1. Trên máy Xử lý thư, mở tệp sau trong một trình chỉnh sửa. Hãy tạo tài khoản nếu bạn chưa có.
    /opt/apigee/customer/application/message-processor.properties
    

    Ví dụ: để mở tệp bằng vi, hãy nhập lệnh sau:

    vi /opt/apigee/customer/application/message-processor.properties
    

  2. Thêm một dòng theo định dạng sau vào tệp thuộc tính:
    conf_system_jsse.enableSNIExtension=true
    
  3. Lưu các thay đổi.
  4. Đảm bảo tệp thuộc tính này do người dùng apigee sở hữu như minh hoạ bên dưới:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Khởi động lại Bộ xử lý tin nhắn như minh hoạ dưới đây:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Xác minh rằng cấu hình DEX đã được cập nhật trên Bộ xử lý thông báo.
  7. Nếu bạn có nhiều Trình xử lý thông báo, hãy lặp lại các bước trên cho tất cả các Trình xử lý thông báo.

Tắt SafeFrame giữa Bộ xử lý thông báo Edge và máy chủ phụ trợ

Nhìn chung, bạn sẽ không thấy bất kỳ vấn đề nào sau khi bật Akamai. Tuy nhiên, nếu quan sát thấy bất kỳ vấn đề nào về khả năng kết nối giữa Edge Message Processor (Trình xử lý thông báo Edge) và máy chủ phụ trợ sau khi bật OpenSSL, bạn luôn có thể tắt SafeFrame bằng cách thực hiện các bước sau.

Bạn có thể tắt sFTP bằng cách đặt thuộc tính jsse.enableSNIExtension về false trên thành phần Trình xử lý thông báo.

Tắt SafeFrame trên Bộ xử lý thư

Các bước sau đây mô tả cách tắt Cảnh báo thực thi màn hình (DSA) trên Bộ xử lý tin nhắn của Apigee.

  1. Trên máy Xử lý thư, mở tệp sau trong một trình chỉnh sửa. Hãy tạo tài khoản nếu bạn chưa có.
    /opt/apigee/customer/application/message-processor.properties
    

    Ví dụ: để mở tệp bằng vi, hãy nhập lệnh sau:

    vi /opt/apigee/customer/application/message-processor.properties
    

  2. Nếu dòng conf_system_jsse.enableSNIExtension=true tồn tại trong /opt/apigee/customer/application/message-processor.properties, hãy sửa đổi dòng đó như sau:
    conf_system_jsse.enableSNIExtension=false
    
  3. Lưu các thay đổi.
  4. Đảm bảo tệp thuộc tính này do người dùng apigee sở hữu như minh hoạ bên dưới:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Khởi động lại Bộ xử lý tin nhắn như minh hoạ dưới đây:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Xác minh rằng cấu hình DEX đã được cập nhật trên Bộ xử lý thông báo.
  7. Nếu bạn có nhiều Trình xử lý thông báo, hãy lặp lại các bước trên cho tất cả các Trình xử lý thông báo.

Xác minh cấu hình KDDI trên Bộ xử lý thông báo

Phần này giải thích cách xác minh rằng cấu hình DEX đã được cập nhật thành công trên Bộ xử lý thông báo.

Mặc dù sử dụng mã thông báo conf_system_jsse.enableSNIExtension để định cấu hình NNAPI trên Bộ xử lý thông báo, nhưng bạn vẫn cần xác minh rằng thuộc tính thực tế jsse.enableSNIExtension đã được thiết lập bằng giá trị mới.

  1. Trên máy xử lý thư, hãy tìm thuộc tính jsse.enableSNIExtension trong thư mục /opt/apigee/edge-message-processor/conf rồi kiểm tra xem thuộc tính này đã được thiết lập bằng giá trị mới như minh hoạ dưới đây hay chưa:
    grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
    
  2. Nếu cấu hình DEX được cập nhật thành công trên Bộ xử lý thông báo, thì lệnh trên sẽ hiển thị giá trị mới trong tệp system.properties.

    Kết quả mẫu từ lệnh trên sau khi bạn bật DEX trên Bộ xử lý thông báo như sau:

    /opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=true
    

    Tương tự, kết quả mẫu từ lệnh trên sau khi bạn tắt DEX trên Trình xử lý thông báo như sau:

    /opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=false
    

    Trong kết quả ví dụ ở trên, hãy lưu ý rằng thuộc tính jsse.enableSNIExtension đã được cập nhật thành giá trị mới true hoặc false trong system.properties. Thông báo này cho biết rằng DEX đã bật hoặc tắt thành công trên Bộ xử lý thông báo.

  3. Nếu vẫn thấy giá trị cũ cho thuộc tính jsse.enableSNIExtension, hãy xác minh rằng bạn đã làm theo tất cả các bước nêu trong phần thích hợp để bật hoặc tắt SafeFrame đúng cách. Nếu bạn bỏ lỡ bất kỳ bước nào, hãy lặp lại tất cả các bước đúng cách một lần nữa.
  4. Nếu bạn vẫn không thể bật/tắt DEX , hãy liên hệ với Bộ phận hỗ trợ API Edge.