Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
Chỉ báo tên máy chủ (SNI) cho phép phân phát nhiều máy chủ phụ trợ HTTPS cùng một lúc Địa chỉ IP và cổng mà không yêu cầu các máy chủ phụ trợ đó phải sử dụng cùng một chứng chỉ TLS. Đây là một phần mở rộng của giao thức TLS. Khi SNI được bật trên ứ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 chứng chỉ TLS nào nên được dùng để xác thực yêu cầu từ khách hàng.
Theo mặc định, SNI bị tắt trên thành phần Trình xử lý thư trong Edge đối với Đá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 là được định cấu hình để hỗ trợ SNI thì bạn cần bật SNI trên thành phần Trình xử lý thư. Nếu không, các yêu cầu API gửi qua Apigee Edge sẽ không thực hiện được với Lỗi bắt tay TLS.
Tài liệu này giải thích cách thực hiện những việc sau:
- Xác định xem máy chủ phụ trợ có được bật SNI hay không
- Bật SNI trên Trình xử lý thư để giao tiếp với chương trình phụ trợ các máy chủ hỗ trợ SNI
- Tắt SNI trên Bộ xử lý thư nếu cần
- Xác minh rằng cấu hình SNI đã được cập nhật thành công trên Bộ xử lý tin nhắn
Trước khi bắt đầu
- Nếu bạn không quen thuộc với SNI, hãy đọc Sử dụng SNI với cạnh.
- Nếu bạn chưa hiểu rõ về cách định cấu hình Edge trên Đám mây riêng tư, hãy đọc bài viết Cách định cấu hình Edge.
Xác định máy chủ đã bật SNI
Phần này mô tả cách xác định xem máy chủ phụ trợ có được bật SNI hay không.
-
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 truyền tên máy chủ, như minh hoạ dưới đây:openssl s_client -connect hostname:port
-
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
-
Thực thi lệnh
openssl
và cố gắng kết nối với máy chủ có liên quan tên máy chủ (bộ định tuyến Edge hoặc máy chủ phụ trợ) bằng cách truyền tên máy chủ như minh hoạ dưới đây:openssl s_client -connect hostname:port -servername hostname
- Nếu bạn gặp lỗi bắt tay ở bước 1 hoặc nhận các chứng chỉ khác nhau ở bước 1 và bước 2, thì nó cho biết rằng Máy chủ được chỉ định đã được bật SNI.
- Nếu muốn xác minh tài khoản này trên 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 bạn thấy rằng mình có một hoặc nhiều máy chủ phụ trợ đã được bật SNI thì bạn cần phải bật SNI trên thành phần Trình xử lý thư như được giải thích bên dưới. Nếu không, API các yêu cầu gửi qua Apigee Edge sẽ không thực hiện được với Lỗi bắt tay TLS.
Bật SNI giữa Trình xử lý thư Edge và máy chủ phụ trợ
Phần này giải thích cách bật SNI giữa Trình xử lý thư Edge và phần phụ trợ
máy chủ. Có thể bật SNI thông qua thuộc tính jsse.enableSNIExtension
trên
thành phần Trình xử lý thư. Để định cấu hình bất kỳ thuộc tính nào trên Trình xử lý thư, hãy sử dụng
mã thông báo theo cú pháp được mô tả trong
Cách định cấu hình Edge.
Để bật SNI trên Trình xử lý thư, hãy thực hiện các bước sau:
Tìm mã thông báo của tài sản 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
:
-
Tìm kiếm thuộc tính
jsse.enableSNIExtension
trong nguồn Trình xử lý thư thư mục/opt/apigee/edge-message-processor/source
bằng lệnh sau:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
-
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ư
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 bạn có thể đặt trong tệp.properties
của Trình xử lý thư.Do đó, mã thông báo cho thuộc tính
jsse.enableSNIExtension
như sau:conf_system_jsse.enableSNIExtension
Bật SNI trên Trình xử lý thư
Các bước sau đây mô tả cách bật SNI trên thành phần Trình xử lý thông báo Apigee.
- Trên máy Trình xử lý thư, mở tệp sau trong trình chỉnh sửa. Nếu không
đã tồn tại, thì hãy tạo nó.
/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
-
Thêm một dòng ở định dạng sau vào tệp thuộc tính:
conf_system_jsse.enableSNIExtension=true
- Lưu các thay đổi.
-
Đảm bảo tệp thuộc tính này thuộc sở hữu của người dùng
apigee
như minh hoạ dưới đây:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Khởi động lại Trình xử lý thư như minh hoạ dưới đây:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Xác minh cấu hình SNI đã được cập nhật trên Trình xử lý thư.
- Nếu bạn có nhiều Trình xử lý thư, hãy lặp lại các bước trên cho tất cả Bộ xử lý tin nhắn.
Tắt SNI giữa Trình xử lý thư Edge và máy chủ phụ trợ
Nói chung, bạn sẽ không thấy bất kỳ sự cố nào sau khi bật SNI. Tuy nhiên, nếu bạn quan sát thấy mọi vấn đề kết nối giữa Trình xử lý thông báo Edge và máy chủ phụ trợ sau đó bật SNI, bạn luôn có thể vô hiệu hóa SNI bằng cách thực hiện các bước sau đây.
Có thể tắt SNI bằng cách đặt thuộc tính jsse.enableSNIExtension
quay lại false
trên thành phần Trình xử lý thư.
Tắt SNI trên Trình xử lý thư
Các bước sau đây mô tả cách tắt SNI trên Trình xử lý tin nhắn Apigee.
-
Trên máy Trình xử lý thư, mở tệp sau trong trình chỉnh sửa. Nếu không
đã tồn tại, thì hãy tạo nó.
/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
-
Nếu dòng
conf_system_jsse.enableSNIExtension=true
tồn tại trong/opt/apigee/customer/application/message-processor.properties
, sau đó sửa đổi thành sau:conf_system_jsse.enableSNIExtension=false
- Lưu các thay đổi.
-
Đảm bảo tệp thuộc tính này thuộc sở hữu của người dùng
apigee
như minh hoạ dưới đây:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Khởi động lại Trình xử lý thư như minh hoạ dưới đây:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Xác minh cấu hình SNI đã được cập nhật trên Trình xử lý thư.
- Nếu bạn có nhiều Trình xử lý thư, hãy lặp lại các bước trên cho tất cả Bộ xử lý tin nhắn.
Xác minh cấu hình SNI trên bộ xử lý thư
Phần này giải thích cách xác minh cấu hình SNI đã được thành công đã cập nhật trên Trình xử lý tin nhắn.
Mặc dù bạn sử dụng mã thông báo conf_system_jsse.enableSNIExtension
để
định cấu hình SNI trên Trình xử lý thư, bạn cần xác minh rằng thuộc tính thực tế
jsse.enableSNIExtension
đã được đặt với giá trị mới.
-
Trên máy Xử lý thư, hãy tìm kiếm thuộc tính
jsse.enableSNIExtension
trong thư mục/opt/apigee/edge-message-processor/conf
và kiểm tra xem liệu nó có đã được đặt với giá trị mới như sau:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
-
Nếu cấu hình SNI được cập nhật thành công trên Trình xử lý thư thì
lệnh ở trên cho biết 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 SNI trên Trình xử lý thư 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 SNI trên Trình xử lý thông báo hoạt động như sau:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=false
Trong kết quả của ví dụ ở trên, hãy lưu ý rằng thuộc tính
jsse.enableSNIExtension
đã được cập nhật lên giá trị mớitrue
hoặcfalse
trongsystem.properties
. Điều này cho biết rằng SNI được bật thành công hoặc bị vô hiệu hoá trên Trình xử lý thư. -
Nếu bạn vẫn thấy giá trị cũ của thuộc tính
jsse.enableSNIExtension
, thì xác minh rằng bạn đã làm theo tất cả các bước được nêu trong phần thích hợp để bật hoặc vô hiệu hoá SNI đú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 một cách chính xác. - Nếu bạn vẫn không thể bật/tắt SNI , thì liên hệ Hỗ trợ Apigee Edge.