Thiết lập máy chủ ảo

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à trên đó proxy API hiển thị, và theo tiện ích là URL mà các ứng dụng dùng để truy cập 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 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 quá trình này dễ dàng hơn cho người dùng mới.

Khi tạo máy chủ ảo, bạn phải chỉ định thông tin sau:

  • Tên của máy chủ ảo mà bạn dùng để tham chiếu đến máy chủ đó trong các proxy API của mình.
  • 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 cổng đối với mỗi máy chủ ảo mới.
  • Bí danh máy chủ lưu trữ của máy chủ ảo. Thường là tên DNS của máy chủ ảo.

Ví dụ: trong tệp cấu hình được chuyển đến lệnh setup-org, bạn có thể chỉ định thông tin này là:

# 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 đề Máy chủ 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 gửi yêu cầu thông qua một máy chủ ảo, hãy chỉ định một tên miền khớp với bí danh của máy chủ lưu trữ ảo hoặc chỉ định địa chỉ IP của Bộ định tuyến và tiêu đề Máy chủ chứa bí danh của máy chủ.

Ví dụ: nếu bạn đã tạo một máy chủ ảo có bí danh của máy chủ là myapis.apigee.net trên cổng 9001, thì yêu cầu cURL tới một API thông qua máy chủ ảo đó có thể sử dụng một trong các biểu mẫu sau:

  • Nếu bạn có một 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://myapis.apigee.net/{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, rồi chuyển vào bí danh của máy chủ lưu trữ.

    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 (Máy chủ) vào miền như một phần của yêu cầu, vì vậy, bạn thực sự có thể sử dụng lệnh cURL dưới dạng:

    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}

Các tuỳ chọn khi bạn không có mục nhập DNS cho máy chủ ảo

Một lựa chọn khi bạn không có mục nhập DNS là đặt bí danh của 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ủ ả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 trong biểu mẫu bên dưới:

curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} 

Tuỳ chọn này được ưu tiên vì hoạt động hiệu quả 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 bí danh của máy chủ cho mỗi 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 của 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 chuyển tiêu đề Host (Máy chủ) 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 của máy chủ vào tệp /etc/hosts của bạn. 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ục nhập 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ủ ả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 với tư cách 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 với tư cách người dùng khác:

  1. Ở cấp độ gốc, tạo tệp /opt/apigee/etc/edge-router.d/RUN_USER.sh.
  2. Thêm mục sau đây vào tệp:
    RUN_USER=root
    Nếu bạn không muốn chạy Bộ định tuyến ở cấp độ gốc, hãy chỉ định một người dùng có quyền truy cập vào cổng.
  3. Lưu tệp.
  4. 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 đó:
    > chọn USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh
  5. Khởi động lại bộ định tuyến:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router khởi động lại