Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Trong Edge, Bộ định tuyến xử lý tất cả lưu lượng truy cập API đến. Điều đó có nghĩa là tất cả các yêu cầu HTTP và HTTPS đến một proxy API trước tiên sẽ được Xử lý bằng Bộ định tuyến Edge.
Máy chủ ảo cho phép bạn lưu trữ nhiều tên miền trên một máy chủ. Đối với Edge, máy chủ tương ứng với một Bộ định tuyến Edge. Bằng cách xác định nhiều máy chủ ảo trên một Bộ định tuyến, Bộ định tuyến có thể xử lý các yêu cầu API đến nhiều tên miền.
Máy chủ ảo trên Edge xác định giao thức truy cập (HTTP hoặc HTTPS), một cổng Router mở và một bí danh máy chủ. Bí danh máy chủ lưu trữ thường là tên miền DNS liên kết với địa chỉ IP của Bộ định tuyến.
Ví dụ: hình ảnh sau đây cho thấy một Bộ định tuyến có hai định nghĩa về máy chủ ảo:

Máy chủ ảo đầu tiên xử lý các yêu cầu HTTPS trên miền domainName1 và máy chủ ảo thứ hai xử lý các yêu cầu HTTP trên domainName2.
Khi có yêu cầu đến một proxy API, Bộ định tuyến sẽ so sánh tiêu đề Host của yêu cầu đến với danh sách bí danh máy chủ lưu trữ do tất cả các máy chủ lưu trữ ảo xác định để xác định máy chủ lưu trữ ảo nào xử lý yêu cầu.
Giới thiệu về định nghĩa máy chủ ảo
Máy chủ ảo chứa các thông tin sau:
- Tên nội bộ của máy chủ ảo. Bạn dùng tên đó để tham chiếu máy chủ ảo trong các proxy API và khi định cấu hình máy chủ ảo.
- Bí danh máy chủ lưu trữ của máy chủ lưu trữ ảo. Thông thường, bí danh máy chủ lưu trữ là tên miền DNS liên kết với địa chỉ IP trên Bộ định tuyến. Tiêu đề
Hostcủa yêu cầu proxy API phải chứa bí danh máy chủ lưu trữ của máy chủ lưu trữ ảo. - Một cổng mở trên Bộ định tuyến.
- TLS (quyền truy cập HTTPS) có được bật hay không (quyền truy cập HTTP).
Ví dụ: bạn chỉ định thông tin sau khi tạo một máy chủ ảo:
- name = myvhost
- bí danh máy chủ = apis.acme.com
- port = 443
- TLS đã bật
Dựa trên chế độ cài đặt ở trên cho máy chủ ảo, yêu cầu đối với một proxy API sẽ sử dụng biểu mẫu:
https://apis.acme.com/{proxy-base-path}/{resource-path}trong đó:
- {proxy-base-path} được xác định khi bạn tạo một proxy API và là duy nhất cho mỗi proxy API.
Ví dụ:
https://apis.acme.com/characters
- {resource-path} đường dẫn đến một tài nguyên có thể truy cập thông qua proxy API. Ví dụ:
https://apis.acme.com/characters/coyote https://apis.acme.com/characters/roadrunner
Giới thiệu về máy chủ ảo trong Edge cho Cloud
Mỗi tổ chức Edge đều tự động có 2 môi trường (test và prod), 2 máy chủ ảo trong mỗi môi trường (default và secure) và bản ghi DNS cho mỗi bí danh máy chủ lưu trữ.
Bí danh máy chủ lưu trữ của mỗi máy chủ lưu trữ ảo do Apigee cung cấp chứa tên của tổ chức và môi trường, như minh hoạ trong bảng sau:
| Môi trường | Tên máy chủ ảo | Tên thay thế của máy chủ lưu trữ | Cổng | Đã bật TLS |
|---|---|---|---|---|
| prod | mặc định | {org-name}-prod.apigee.net |
80 | Không |
| bảo mật | {org-name}-prod.apigee.net |
443 | Có | |
| kiểm tra | mặc định | {org-name}-test.apigee.net |
80 | Không |
| bảo mật | {org-name}-test.apigee.net |
443 | Có |
Ví dụ: tên miền mặc định của một tổ chức có tên là "myorg" trong môi trường prod là "myorg-prod.apigee.net". Do đó, để truy cập vào một proxy API trong tổ chức đó, bạn sẽ sử dụng một URL có dạng:
http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}Gói trả phí Apigee: Tên miền chứa "apigee.net" có thể không phải là tên miền bạn muốn cung cấp cho khách hàng. Bạn có thể sử dụng một mục DNS và bản ghi CNAME để liên kết một tên miền với tổ chức của mình trên Edge. Bạn cũng phải tạo một máy chủ ảo có bí danh máy chủ được đặt thành tên miền đó. Điều này cho phép nhà phát triển truy cập vào API của bạn thông qua một miền dành riêng cho công ty của bạn.
Sau đây là ví dụ về miền tuỳ chỉnh trong Edge:
https://apis.acme.com/{proxy-base-path}/{resource-path}Giới thiệu về máy chủ ảo trên Edge cho Private Cloud
Khi bạn cài đặt Apigee Edge cho Đám mây riêng tư, sẽ không có tổ chức, môi trường hoặc máy chủ ảo mặc định nào được tạo cho bạn. Sau khi hoàn tất quy trình cài đặt Edge, hành động đầu tiên của bạn thường là tạo một tổ chức, môi trường và máy chủ ảo thông qua quy trình "thiết lập ban đầu".
Để thực hiện quy trình thiết lập ban đầu, hãy chạy lệnh sau trên nút Edge Management Server:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
trong đó configFile chứa thông tin cần thiết để tạo người dùng, tổ chức, môi trường và máy chủ ảo.
Ví dụ: bạn tạo:
- Một người dùng do bạn chọn để đóng vai trò là quản trị viên tổ chức
- Một tổ chức có tên là
example - Một môi trường trong tổ chức có tên là
prod - Một máy chủ ảo trong môi trường có tên là
defaultcho phép truy cập HTTP trên cổng 9001 - Bí danh máy chủ của tên DNS dùng để truy cập vào Bộ định tuyến, hoặc địa chỉ IP của Bộ định tuyến và cổng của máy chủ ảo ở dạng
IP:9001.
Sau này, bạn có thể thêm bất kỳ số lượng tổ chức, môi trường và máy chủ ảo nào vào phiên bản Edge tại chỗ. Để biết thêm thông tin, hãy xem các bài viết sau:
Máy chủ ảo được mở trên Bộ định tuyến biên. Do đó, bạn phải đảm bảo cổng mà bạn chỉ định cho máy chủ ảo đang mở trên Bộ định tuyến. Bạn có thể sử dụng một lệnh theo biểu mẫu bên dưới để mở một cổng:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose
Sau khi chạy lệnh đó, bạn có thể truy cập vào các API của mình bằng cách sử dụng một URL có dạng:
http://<router-ip>:9001/{proxy-base-path}/{resource-path}Thông thường, bạn không xuất bản API cho khách hàng bằng địa chỉ IP và số cổng. Thay vào đó, bạn xác định một mục DNS cho bộ định tuyến và cổng. Ví dụ:
http://myAPI.myCo.com/{proxy-base-path}/{resource-path}Khi xác định mục DNS, bạn cũng phải tạo một máy chủ ảo có bí danh máy chủ khớp với tên miền của mục DNS. Trong ví dụ trên, bạn sẽ chỉ định một bí danh máy chủ lưu trữ là myAPI.myCo.com khi tạo máy chủ lưu trữ ảo.
Giới thiệu về bí danh máy chủ và tên DNS
Một thuộc tính mà bạn đặt cho máy chủ ảo là bí danh máy chủ lưu trữ. Bí danh máy chủ thường là tên DNS của máy chủ ảo. Cách bạn thiết lập bí danh máy chủ lưu trữ phụ thuộc vào loại bản cài đặt Edge: Đám mây hoặc Đám mây riêng.
Bí danh máy chủ và tên DNS trong Edge cho Đám mây
Trong Edge cho đám mây, khi bạn tạo tổ chức Edge lần đầu tiên, Apigee sẽ tự động tạo hai môi trường (test và prod), hai máy chủ ảo trong mỗi môi trường (default và secure) và bản ghi DNS cho mỗi máy chủ ảo.
Bí danh máy chủ lưu trữ của máy chủ lưu trữ ảo chứa tên của tổ chức và môi trường. Do đó, yêu cầu thông qua máy chủ ảo có dạng:
http://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}https://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}http://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}https://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
Thông thường, bạn nên tạo các máy chủ ảo sử dụng tên miền của bạn, thay vì sử dụng miền apigee.net mặc định. Để thực hiện việc này, trước tiên, bạn phải tạo mục DNS và bản ghi CNAME của riêng mình.
Hình sau đây cho thấy một cấu hình điển hình về cách Edge xử lý một yêu cầu API:

Trong ví dụ này:
- api.acme.com là tên miền bạn muốn.
- Bạn xác định một mục DNS và bản ghi CNAME để trỏ api.acme.com đến acme-prod.apigee.net.
- Yêu cầu này chứa tiêu đề
Hostmà Bộ định tuyến dùng để xác định máy chủ ảo xử lý yêu cầu.
Trong ví dụ này, bạn chỉ định thông tin sau trong một định nghĩa máy chủ ảo:
- name = myvhost
- bí danh máy chủ = apis.acme.com
- port = 443
- Bật quyền truy cập TLS
Hãy xem phần Định cấu hình máy chủ ảo cho Cloud để biết thêm thông tin.
Bí danh máy chủ và tên DNS trong Edge cho Đám mây riêng
Tương tự như Edge cho Đám mây, bạn tạo các máy chủ ảo sử dụng tên miền của riêng bạn cho bí danh máy chủ. Sau đó, bạn tạo mục DNS và bản ghi CNAME của riêng mình để truy cập vào các máy chủ ảo đó.
Một trong những điểm khác biệt giữa Cloud và Private Cloud là trong Cloud Apigee, DNS sẽ tự động tạo tên cho các tổ chức của bạn, theo dạng:
- name=default:
http://{org-name}-{env-name}.apigee.net(Cổng bộ định tuyến 80) - name=secure:
https://{org-name}-{env-name}.apigee.net(Cổng bộ định tuyến 443)
Trong Edge cho Đám mây riêng tư, bạn phải tạo các mục DNS cho địa chỉ IP và cổng của Bộ định tuyến.
Ví dụ: bạn chỉ định thông tin này trong một định nghĩa máy chủ ảo:
- name = myvhost
- bí danh máy chủ = apis.acme.com
- port = 9001
- Bật quyền truy cập TLS
Hình sau đây cho thấy một cấu hình điển hình về cách Edge xử lý một yêu cầu API:

Trong ví dụ này:
- api.acme.com là tên miền bạn muốn.
- Bạn xác định một mục DNS và bản ghi CNAME để trỏ api.acme.com đến địa chỉ IP và cổng của Bộ định tuyến.
- Yêu cầu này chứa tiêu đề
Hostmà Bộ định tuyến dùng để xác định máy chủ ảo xử lý yêu cầu.
Hãy xem phần Định cấu hình máy chủ ảo cho Đám mây riêng để biết thêm thông tin.
Bí danh và ký tự đại diện của máy chủ lưu trữ
Bạn có thể thêm ký tự đại diện "*" vào bí danh máy chủ lưu trữ. Ký tự đại diện "*" chỉ có thể ở đầu (trước dấu "." đầu tiên) của bí danh máy chủ lưu trữ và không thể kết hợp với các ký tự khác.
Sau đây là ví dụ về một bí danh máy chủ hợp lệ sử dụng ký tự đại diện:
*.example.com
Các ví dụ sau đây là không hợp lệ:
www.*.example.com w*.example.com
Việc sử dụng ký tự đại diện trong bí danh máy chủ ảo cho phép các proxy API xử lý các lệnh gọi được gửi đến nhiều miền con, chẳng hạn như alpha.example.com, beta.example.com hoặc live.example.com. Việc sử dụng bí danh ký tự đại diện cũng giúp bạn sử dụng ít máy chủ ảo hơn cho mỗi môi trường để nằm trong giới hạn sản phẩm, vì máy chủ ảo có ký tự đại diện chỉ được tính là một máy chủ ảo.
Chứng chỉ TLS cho máy chủ ảo phải có một ký tự đại diện phù hợp trong tên CN của chứng chỉ.
Ví dụ: *.example.com.
Giới thiệu về các thuộc tính máy chủ ảo
Trong Edge, máy chủ lưu trữ ảo được biểu thị bằng một đối tượng XML. Ví dụ: đối tượng XML sau đây xác định một máy chủ ảo:
<VirtualHost name="vhostName">
<HostAliases>
<HostAlias>hostAlias</HostAlias>
</HostAliases>
<Interfaces>
<!-- Private Cloud only -->
<Interface>interfaceName</Interface>
<Port>portNumber</Port>
<BaseURL>http://myCo.com<</BaseUrl>
<OCSPStapling>off</OCSPStapling>
<RetryOptions/>
<SSLInfo>
<Enabled>trueFalse</Enabled>
<ClientAuthEnabled>trueFalse</ClientAuthEnabled>
<KeyStore>ref://keystoreRef</KeyStore>
<KeyAlias>keyAlias</KeyAlias>
<TrustStore>ref://truststoreRef</TrustStore>
<IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
</SSLInfo>
<Properties>
<Property name="proxy_read_timeout">timeout</Property>
<Property name="keepalive_timeout">timeout</Property>
<Property name="proxy_request_buffering">onOff</Property>
<Property name="proxy_buffering">onOff</Property>
<Property name="ssl_protocols">protocolList</Property>
<Property name="ssl_ciphers">cipherList</Property>
</Properties>
</VirtualHost>Danh sách các thuộc tính mà bạn có thể đặt dựa trên việc bạn đang sử dụng Edge cho Đám mây hay Edge cho Đám mây riêng. Nếu bạn đang sử dụng Edge cho Đám mây riêng tư, danh sách các thuộc tính có sẵn cũng phụ thuộc vào phiên bản Edge của bạn. Để biết nội dung mô tả đầy đủ về tất cả các thuộc tính của máy chủ ảo, hãy xem Tài liệu tham khảo về thuộc tính máy chủ ảo.
Để biết thêm thông tin về cách tạo máy chủ ảo cho phiên bản Edge cụ thể, hãy xem: