Máy chủ ảo trên Edge xác định các miền và cổng Bộ định tuyến Edge mà proxy API được hiển thị, và theo đó, URL mà ứng dụng dùng để truy cập vào proxy API. Máy chủ ảo cũng xác định xem proxy API được truy cập bằng giao thức HTTP hay bằng giao thức HTTPS được mã hoá.
Trong quá trình thiết lập ban đầu Edge, bạn phải tạo một tổ chức, môi trường và
máy chủ ảo. Edge cung cấp lệnh setup-org để giúp người dùng mới thực hiện quy trình này dễ dàng hơn.
Khi tạo máy chủ ảo, bạn phải chỉ định các thông tin sau:
- Tên của máy chủ ảo mà bạn dùng để tham chiếu trong proxy API
- Cổng trên Bộ định tuyến cho máy chủ ảo. Thông thường, các cổng này bắt đầu từ 9001 và tăng thêm 1 cho mỗi máy chủ ảo mới.
- Bí danh máy chủ của máy chủ ảo. Thông thường là tên DNS của máy chủ ảo.
Ví dụ: trong tệp cấu hình được truyền đến lệnh setup-org, bạn có thể chỉ định
thông tin này như sau:
# Specify virtual host information VHOST_PORT=9001 VHOST_NAME=default # If you have a DNS entry for the virtual host VHOST_ALIAS=myapis.apigee.net
Bộ định tuyến Edge so sánh tiêu đề Host của
yêu cầu đến với danh sách các bí danh máy chủ hiện có trong quá trình xác định proxy API xử lý yêu cầu. Khi đưa ra yêu cầu thông qua máy chủ ảo, hãy chỉ định tên miền
khớp với bí danh máy chủ của máy chủ ảo hoặc chỉ định địa chỉ IP của Bộ định tuyến và
tiêu đề Host chứa bí danh máy chủ.
Ví dụ: nếu bạn tạo máy chủ ảo có bí danh máy chủ là myapis.apigee.net trên cổng 9001, thì yêu cầu cURL đối với API thông qua máy chủ ảo đó có thể sử dụng một trong các dạng sau:
- Nếu bạn có mục DNS cho myapis.apigee.net:
curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
- Nếu bạn không có mục DNS cho myapis.apigee.net:
curl http://routerIP:9001/proxy-base-path/resource-path -H 'Host: myapis.apigee.net'
Ở dạng này, bạn chỉ định địa chỉ IP của Bộ định tuyến và truyền bí danh máy chủ trong tiêu đề
Host.
Các lựa chọn khi bạn không có mục DNS cho máy chủ ảo
Một lựa chọn khi bạn không có mục DNS là đặt bí danh máy chủ thành địa chỉ IP của Bộ định tuyến và cổng của máy chủ ảo, chẳng hạn như routerIP:port. Ví dụ:
VHOST_ALIAS=192.168.1.31:9001
Sau đó, bạn thực hiện lệnh curl ở dạng dưới đây:
curl http://routerIP:9001/proxy-base-path/resource-path
Bạn nên chọn phương án này vì nó hoạt động tốt với Giao diện người dùng Edge mới.
Nếu bạn có nhiều Bộ định tuyến, hãy thêm bí danh máy chủ cho từng Bộ định tuyến, chỉ định địa chỉ IP của từng Bộ định tuyến và cổng của máy chủ ảo:
# Specify the IP and port of each router as a space-separated list enclosed in quotes: # VHOST_ALIAS="192.168.1.31:9001 192.168.1.32:9001"
Ngoài ra, bạn có thể đặt bí danh máy chủ thành một giá trị, chẳng hạn như temp.hostalias.com.
Sau đó, bạn phải truyền tiêu đề Host trong mọi yêu cầu:
curl -v http://routerIP:9001/proxy-base-path/resource-path -H 'host: temp.hostalias.com'
Hoặc thêm bí danh máy chủ vào tệp /etc/hosts. Ví dụ: thêm dòng này
vào /etc/hosts:
192.168.1.31 temp.hostalias.com
Sau đó, bạn có thể đưa ra yêu cầu như thể bạn có mục DNS:
curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path