Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
Proxy API hoạt động như một mục ánh xạ một điểm cuối công khai đến dịch vụ phụ trợ của bạn. Máy chủ ảo xác định cách ứng dụng hiển thị proxy API công khai. Cho ví dụ: máy chủ ảo xác định xem có thể truy cập proxy API bằng cách sử dụng TLS hay không. Khi định cấu hình proxy API, chỉnh sửa định nghĩa ProxyEndpoint của proxy đó để định cấu hình máy chủ ảo mà proxy đó sử dụng.
TargetEndpoint là điểm cuối tương đương với ProxyEndpoint. Hàm TargetEndpoint dưới dạng một ứng dụng HTTP từ Edge đến dịch vụ phụ trợ. Khi tạo proxy API, bạn có thể định cấu hình để sử dụng 0 hoặc nhiều TargetEndpoints.
Tìm hiểu thêm:
- Giới thiệu về TLS/SSL
- Sử dụng TLS với Edge
- Giới thiệu về máy chủ ảo
- Kho khoá và Kho tin cậy
- Tài liệu tham khảo về cấu hình proxy API
Định cấu hình TargetEndpoint hoặc TargetServer
Để định cấu hình TargetEndpoint, hãy chỉnh sửa đối tượng XML dùng để định nghĩa TargetEndpoint. Bạn có thể chỉnh sửa TargetEndpoint bằng cách chỉnh sửa tệp XML xác định TargetEndpoint trong hoặc chỉnh sửa proxy API trong giao diện người dùng quản lý Edge.
Cách sử dụng giao diện người dùng quản lý Edge để chỉnh sửa TargetEndpoint:
- Đăng nhập vào giao diện người dùng quản lý Edge tại https://enterprise.apigee.com.
- Chọn tên của proxy API để cập nhật.
- Chọn thẻ Phát triển.
- Trong mục Target Endpoints (Điểm cuối mục tiêu), hãy chọn default (mặc định).
- Trong vùng mã, định nghĩa TargetEndpoint sẽ xuất hiện, tương tự như bên dưới:
<TargetEndpoint name="default"> <Description/> <FaultRules/> <Flows/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow> <HTTPTargetConnection> <Properties/> <SSLInfo> <Enabled>true</Enabled> <TrustStore>ref://myTrustStoreRef</TrustStore> </SSLInfo> <URL>https://mocktarget.apigee.net</URL> </HTTPTargetConnection> </TargetEndpoint>
- Định cấu hình kho tin cậy như mô tả bên dưới trong phần Giới thiệu về cấu hình TLS với phần phụ trợ.
- Thực hiện mọi thay đổi và lưu proxy. Nếu proxy API đã được triển khai, hãy lưu proxy đó triển khai lại bằng chế độ cài đặt mới.
Xin lưu ý rằng định nghĩa TargetEndpoint chứa thuộc tính name
. Bạn sử dụng giá trị của
thuộc tính name
định cấu hình định nghĩa ProxyEndpoint của proxy API nhằm sử dụng
Điểm cuối đích.
Xem Tài liệu tham khảo về cấu hình proxy API để biết thêm thông tin.
TargetEndpoints có thể được định cấu hình để tham chiếu đến một TargetServer, thay vì URL mục tiêu của bạn. Cấu hình TargetServer tách riêng các URL điểm cuối cụ thể khỏi Cấu hình TargetEndpoint. Máy chủ đích được dùng để hỗ trợ cân bằng tải và chuyển đổi dự phòng trên nhiều thực thể máy chủ phụ trợ.
Dưới đây là một ví dụ về định nghĩa TargetServer:
<TargetServer name="target1"> <Host>mocktarget.apigee.net</Host> <Port>80</Port> <IsEnabled>true</IsEnabled> </TargetServer>
TargetServer được tham chiếu theo tên trong <HTTPTargetConnection>
trong định nghĩa TargetEndpoint.
Bạn có thể định cấu hình một hoặc nhiều Máy chủ mục tiêu được đặt tên, như được hiển thị dưới đây.
<TargetEndpoint name="default"> ... <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Path>/test</Path> </HTTPTargetConnection> ... </TargetEndpoint>
Xem Cân bằng tải trên các máy chủ phụ trợ để tìm hiểu thêm.
Giới thiệu về cấu hình TLS với phần phụ trợ
Trước khi định cấu hình quyền truy cập TLS vào phần phụ trợ, bạn cần nắm được hai điểm:
- Theo mặc định, Edge không xác thực chứng chỉ phụ trợ. Bạn phải tạo một kho tin cậy để định cấu hình Edge để xác thực chứng chỉ.
- Sử dụng tệp tham chiếu để chỉ định kho khoá hoặc kho tin cậy mà Edge sử dụng.
Cả hai điểm cần cân nhắc đều được mô tả dưới đây.
Xác định kho tin cậy để bật tính năng xác thực chứng chỉ
Khi gửi một yêu cầu TLS qua TargetEndpoint hoặc TargetServer, Edge không theo mặc định, xác thực chứng chỉ TLS nhận được từ máy chủ phụ trợ. Điều đó có nghĩa là Edge sẽ không xác thực rằng:
- Chứng chỉ đã được một CA đáng tin cậy ký.
- Chứng chỉ chưa hết hạn.
- Chứng chỉ này đưa ra một tên chung. Nếu có tên thật thì Edge sẽ không xác thực tên thông thường khớp với tên máy chủ được chỉ định trong URL.
Để định cấu hình Edge nhằm xác thực chứng chỉ phụ trợ, bạn phải:
- Tạo kho tin cậy trên Edge.
- Tải chứng chỉ hoặc chuỗi chứng chỉ của máy chủ lên kho tin cậy. Nếu chứng chỉ máy chủ được bên thứ ba ký, thì bạn cần tải lên chuỗi chứng chỉ hoàn chỉnh, bao gồm cả chứng chỉ CA gốc, vào kho tin cậy. Không có CA nào đáng tin cậy.
- Thêm kho lưu trữ tin cậy vào phần định nghĩa TargetEndpoint hoặc TargetServer.
Xem bài viết Kho khoá và Kho tin cậy để biết thêm thông tin.
Ví dụ:
<TargetEndpoint name="default"> … <HTTPTargetConnection> <SSLInfo> <Enabled>true</Enabled> <TrustStore>ref://myTrustStoreRef</TrustStore> </SSLInfo> <URL>https://myservice.com</URL> </HTTPTargetConnection> … </TargetEndpoint>
Sử dụng tệp đối chiếu vào một kho khoá hoặc kho tin cậy
Ví dụ bên dưới cho thấy cách định cấu hình TargetEndpoint hoặc TargetServer để hỗ trợ TLS. Trong quá trình định cấu hình TLS, bạn chỉ định kho tin cậy và kho khoá trong Định nghĩa TargetEndpoint hoặc TargetServer.
Apigee rất khuyến khích bạn sử dụng tệp tham chiếu đến kho khoá và kho tin cậy trong định nghĩa TargetEndpoints hoặc TargetServer. Lợi ích của việc sử dụng tệp đối chiếu là bạn chỉ phải cập nhật tham chiếu để trỏ đến một kho khoá hoặc kho tin cậy khác để hãy cập nhật chứng chỉ TLS.
Thông tin tham chiếu đến kho khoá và kho lưu trữ tin cậy trong định nghĩa TargetEndpoints hoặc TargetServer hoạt động theo cách tương tự như cho máy chủ ảo.
Chuyển đổi TargetEndpoint hoặc TargetServer để sử dụng tệp tham chiếu
Có thể bạn đang có các định nghĩa TargetEndpoint hoặc TargetServer sử dụng tên cố định của kho khoá và Truststore. Cách chuyển đổi TargetEndpoint hoặc TargetServer để sử dụng tệp tham chiếu:
- Cập nhật định nghĩa TargetEndpoint hoặc TargetServer để sử dụng tệp tham chiếu.
- Khởi động lại Trình xử lý thư của Edge:
- Đối với khách hàng sử dụng Public Cloud, hãy liên hệ với Bộ phận hỗ trợ Apigee Edge để khởi động lại bộ xử lý thư.
- Đối với khách hàng sử dụng Cloud Private, hãy khởi động lại Edge Message Processors (Trình xử lý thư của Edge) cùng một lúc.
- Xác nhận rằng TargetEndpoint hoặc TargetServer của bạn đang hoạt động đúng cách.
Định cấu hình TLS một chiều cho phần phụ trợ máy chủ
Khi sử dụng định nghĩa TargetEndpoint, hãy định cấu hình quyền truy cập TLS một chiều từ Edge (ứng dụng TLS) với máy chủ phụ trợ (máy chủ TLS) không yêu cầu bất kỳ cấu hình bổ sung nào trên Edge. Đó là truy cập máy chủ phụ trợ để định cấu hình TLS một cách chính xác.
Bạn chỉ cần đảm bảo rằng phần tử <URL>
trong
Định nghĩa TargetEndpoint tham chiếu đến dịch vụ phụ trợ bằng giao thức HTTPS và rằng bạn
bật TLS:
<TargetEndpoint name="default"> … <HTTPTargetConnection> <SSLInfo> <Enabled>true</Enabled> </SSLInfo> <URL>https://myservice.com</URL> </HTTPTargetConnection> … </TargetEndpoint>
Nếu bạn đang sử dụng TargetServer để xác định dịch vụ phụ trợ, hãy bật TLS trong định nghĩa TargetServer:
<TargetServer name="target1"> <Host>mocktarget.apigee.net</Host> <Port>443</Port> <IsEnabled>true</IsEnabled> <SSLInfo> <Enabled>true</Enabled> </SSLInfo> </TargetServer>
Tuy nhiên, nếu muốn Edge xác thực chứng chỉ phụ trợ, bạn phải tạo một kho tin cậy có chứa chứng chỉ hoặc chuỗi chứng chỉ phụ trợ. Sau đó, bạn chỉ định kho tin cậy trong định nghĩa TargetEndpoint:
<TargetEndpoint name="default"> … <HTTPTargetConnection> <SSLInfo> <Enabled>true</Enabled> <TrustStore>ref://myTrustStoreRef</TrustStore> </SSLInfo> <URL>https://myservice.com</URL> </HTTPTargetConnection> … </TargetEndpoint>
Hoặc trong định nghĩa TargetServer:
<TargetServer name="target1"> <Host>mockserver.apigee.net</Host> <Port>443</Port> <IsEnabled>true</IsEnabled> <SSLInfo> <Enabled>true</Enabled> <TrustStore>ref://myTrustStoreRef</TrustStore> </SSLInfo> </TargetServer>
Cách định cấu hình TLS một chiều:
- Nếu bạn muốn xác thực chứng chỉ phụ trợ, hãy tạo một kho tin cậy trên Edge rồi tải lên chứng chỉ phụ trợ hoặc chuỗi CA, như mô tả trong Kho khoá và Kho tin cậy. Trong ví dụ này, nếu bạn phải tạo một kho tin cậy, hãy đặt tên cho kho lưu trữ đó myTrustStore.
-
Nếu bạn đã tạo một kho tin cậy, hãy sử dụng lệnh gọi API POST sau để tạo tham chiếu có tên myTrustStoreRef đến kho tin cậy mà bạn đã tạo bên trên:
curl -X POST -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \ -d '<ResourceReference name="myTrustStoreRef"> <Refers>myTrustKeystore</Refers> <ResourceType>KeyStore</ResourceType> </ResourceReference>' -u email:password
- Sử dụng giao diện người dùng quản lý Edge để cập nhật định nghĩa TargetEndpoint cho proxy API (hoặc
nếu bạn xác định proxy API trong XML, hãy chỉnh sửa tệp XML cho proxy):
- Đăng nhập vào giao diện người dùng quản lý Edge tại https://enterprise.apigee.com.
- Trong trình đơn giao diện người dùng quản lý Edge, hãy chọn API.
- Chọn tên của proxy API để cập nhật.
- Chọn thẻ Phát triển.
- Trong mục Target Endpoints (Điểm cuối mục tiêu), hãy chọn default (mặc định).
- Trong vùng mã, hãy chỉnh sửa phần tử
<HTTPTargetConnection>
thành thêm phần tử<SSLInfo>
. Hãy đảm bảo chỉ định chính xác tệp tham chiếu kho tin cậy và đặt<Enabled>
thành true:<TargetEndpoint name="default"> … <HTTPTargetConnection> <SSLInfo> <Enabled>true</Enabled> <TrustStore>ref://myTrustStoreRef</TrustStore> </SSLInfo> <URL>https://myservice.com</URL> </HTTPTargetConnection> … </TargetEndpoint>
- Lưu proxy API. Nếu proxy API đã được triển khai, hãy lưu proxy API để triển khai lại bằng cài đặt mới.
Định cấu hình TLS hai chiều cho phần phụ trợ máy chủ
Nếu bạn muốn hỗ trợ TLS hai chiều giữa Edge (ứng dụng TLS) và máy chủ phụ trợ (TLS) máy chủ):
- Tạo kho khoá trên Edge rồi tải chứng chỉ và khoá riêng tư của Edge lên.
- Nếu bạn muốn xác thực chứng chỉ phụ trợ, hãy tạo một kho tin cậy trên Edge có chứa chứng chỉ và chuỗi CA mà bạn nhận được từ máy chủ phụ trợ.
- Cập nhật TargetEndpoint của mọi proxy API tham chiếu đến máy chủ phụ trợ để định cấu hình Quyền truy cập TLS.
Sử dụng bí danh khoá để chỉ định chứng chỉ kho khoá
Bạn có thể xác định nhiều chứng chỉ, mỗi chứng chỉ có bí danh riêng, trong cùng một kho khoá. Theo mặc định, Edge sử dụng chứng chỉ đầu tiên được xác định trong kho khoá.
Nếu muốn, bạn có thể định cấu hình Edge để sử dụng chứng chỉ do thuộc tính <KeyAlias>
chỉ định.
Điều này cho phép bạn xác định một kho khoá cho nhiều chứng chỉ, sau đó
hãy chọn mã mà bạn muốn sử dụng trong phần định nghĩa TargetServer. Nếu Edge không tìm thấy chứng chỉ có bí danh
khớp với <KeyAlias>
, thì phương thức này sẽ sử dụng hành động mặc định là chọn
chứng chỉ đầu tiên trong kho khoá.
Edge dành cho người dùng Cloud Cloud phải liên hệ với Bộ phận hỗ trợ Apigee Edge để bật tính năng này.
Định cấu hình TLS hai chiều
Để định cấu hình TLS hai chiều:
- Tạo kho khoá trên Edge rồi tải chứng chỉ và khoá riêng tư lên bằng cách sử dụng quy trình này được mô tả ở đây: Kho khoá và Kho tin cậy. Trong ví dụ này, hãy tạo một kho khoá có tên myTestKeystore sử dụng tên bí danh của myKey cho chứng chỉ và khoá riêng tư.
-
Sử dụng lệnh gọi API POST sau để tạo tham chiếu có tên là myKeyStoreRef vào kho khoá bạn đã tạo ở trên:
curl -X POST -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \ -d '<ResourceReference name="myKeyStoreRef"> <Refers>myTestKeystore</Refers> <ResourceType>KeyStore</ResourceType> </ResourceReference>' -u email:password
Tham chiếu chỉ định tên của kho khoá và loại tham chiếu là
KeyStore
.Sử dụng lệnh gọi API GET sau để xem tệp tham chiếu:
curl -X GET https://api.enterprise.apigee.com/v1/o/[org_name}/e/{env_name}/references/myKeyStoreRef / -u email:password
- Nếu bạn muốn xác thực chứng chỉ phụ trợ, hãy tạo một kho tin cậy trên Edge, rồi tải chứng chỉ và CA lên như mô tả ở đây: Kho khoá và Kho tin cậy. Trong ví dụ này, nếu bạn phải tạo tên kho tin cậy, thì tên đó là myTrustStore.
-
Nếu bạn đã tạo một kho tin cậy, hãy sử dụng lệnh gọi API POST sau để tạo tham chiếu có tên myTrustStoreRef đến kho tin cậy mà bạn đã tạo bên trên:
curl -X POST -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \ -d '<ResourceReference name="myTrustStoreRef"> <Refers>myTrustKeystore</Refers> <ResourceType>KeyStore</ResourceType> </ResourceReference>' -u email:password
- Sử dụng giao diện người dùng quản lý Edge để cập nhật định nghĩa TargetEndpoint cho proxy API (hoặc
nếu bạn xác định proxy API trong XML, hãy chỉnh sửa tệp XML cho proxy):
- Đăng nhập vào giao diện người dùng quản lý Edge tại https://enterprise.apigee.com.
- Trong trình đơn giao diện người dùng quản lý Edge, hãy chọn API.
- Chọn tên của proxy API để cập nhật.
- Chọn thẻ Phát triển.
- Trong mục Target Endpoints (Điểm cuối mục tiêu), hãy chọn default (mặc định).
- Trong vùng mã, hãy chỉnh sửa phần tử
<HTTPTargetConnection>
thành thêm<SSLInfo>
. Hãy đảm bảo chỉ định chính xác kho khoá và bí danh khoá, đồng thời đặt cả hai tuỳ chọn Phần tử<Enabled>
và<ClientAuthEnabled>
thành true:<TargetEndpoint name="default"> ... <HTTPTargetConnection> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>true</ClientAuthEnabled> <KeyStore>ref://myKeyStoreRef</KeyStore> <KeyAlias>myKey</KeyAlias> </SSLInfo> <URL>https://myservice.com</URL> </HTTPTargetConnection> ... </TargetEndpoint>
- Lưu proxy API. Nếu proxy API đã được triển khai, hãy lưu proxy API để triển khai lại bằng cài đặt mới.
Để biết thêm thông tin về các tuỳ chọn có trong <TargetEndpoint>
, bao gồm cả việc sử dụng các biến
để cung cấp giá trị TargetEndpoint <SSLInfo>
, hãy xem tài liệu tham khảo về cấu hình proxy API.
Bật SNI
Edge hỗ trợ việc sử dụng Chỉ báo tên máy chủ (SNI) từ Bộ xử lý thư để nhắm mục tiêu các điểm cuối trong Apigee Edge dành cho Cloud và khi triển khai Đám mây riêng tư.
Đối với Edge dành cho Cloud Private, để tương thích ngược với các chương trình phụ trợ mục tiêu hiện có của bạn, Theo mặc định, Apigee tắt SNI. Nếu chương trình phụ trợ mục tiêu của bạn được định cấu hình để hỗ trợ SNI, bạn có thể bật tính năng này. Hãy xem phần Sử dụng SNI với Edge để biết thêm thông tin.