Edge for Private Cloud phiên bản 4.17.05
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à các ứ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 đã mã hoá.
Trong quá trình làm quen với 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 những thông tin sau:
- Tên của máy chủ lưu trữ ảo mà bạn dùng để tham chiếu đến máy chủ đó 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 một cổng cho mỗi máy chủ ảo mới.
- Bí danh máy chủ lưu trữ của máy chủ lưu trữ ảo. 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 biên so sánh tiêu đề Host của yêu cầu gửi đến với danh sách bí danh máy chủ lưu trữ có sẵn để xác định proxy API xử lý yêu cầu. Khi đưa ra yêu cầu thông qua một máy chủ lưu trữ ảo, hãy chỉ định tên miền khớp với bí danh máy chủ của một máy chủ lưu trữ ả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ột máy chủ lưu trữ ảo có bí danh máy chủ lưu trữ là myapis.apigee.net trên cổng 9001, thì yêu cầu cURL đến một API thông qua máy chủ lưu trữ ảo đó có thể sử dụng một trong các biểu mẫu 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'
Trong biểu mẫu 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.
Lưu ý: Lệnh cURL, hầu hết các trình duyệt và nhiều tiện ích khác sẽ tự động thêm tiêu đề Host cùng với miền vào yêu cầu, vì vậy, bạn thực sự có thể sử dụng lệnh cURL ở dạng:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
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ủ lưu trữ thành địa chỉ IP của Bộ định tuyến và cổng của máy chủ lưu trữ ảo, dưới dạng <routerIP>:port. Ví dụ:
VHOST_ALIAS=192.168.1.31:9001
Sau đó, bạn tạo một lệnh curl theo biểu mẫu bên dưới:
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.
Nếu bạn có nhiều Bộ định tuyến, hãy thêm một bí danh máy chủ lưu trữ cho mỗi Bộ định tuyến, chỉ định địa chỉ IP của mỗi Bộ định tuyến và cổng của máy chủ lưu trữ ả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ủ lưu trữ thành một giá trị, chẳng hạn như temp.hostalias.com. Sau đó, bạn phải truyền tiêu đề Host (Máy chủ lưu trữ) trên 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ể gửi yêu cầu như thể bạn có một mục DNS:
curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}Sử dụng cổng được bảo vệ trong máy chủ ảo
Nếu muốn tạo một máy chủ lưu trữ ảo liên kết Bộ định tuyến với một cổng được bảo vệ, chẳng hạn như số cổng nhỏ hơn 1000, thì bạn phải định cấu hình Bộ định tuyến để chạy dưới dạng người dùng có quyền truy cập vào các cổng đó. Theo mặc định, Bộ định tuyến chạy dưới dạng người dùng "apigee" không có quyền truy cập vào các cổng đặc quyền.
Cách chạy Bộ định tuyến dưới dạng một người dùng khác:
- Là người dùng gốc, hãy tạo tệp /opt/apigee/etc/edge-router.d/RUN_USER.sh.
- Thêm mục sau vào tệp:
RUN_USER=root
Nếu bạn không muốn chạy Bộ định tuyến dưới dạng gốc, hãy chỉ định một người dùng có quyền truy cập vào cổng. - Lưu tệp.
- Nếu bạn chỉ định một người dùng không phải là người dùng gốc, hãy thay đổi chủ sở hữu của tệp thành người dùng đó:
> chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh - Khởi động lại bộ định tuyến:
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart