Định cấu hình máy chủ ảo cho Đám mây riêng

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Trong quá trình cài đặt tại chỗ, bạn có toàn quyền kiểm soát máy chủ ảo. Bạn có thể tạo máy chủ ảo cho mọi tổ chức, trong mọi môi trường, có sử dụng TLS hoặc không sử dụng TLS.

Tài liệu này mô tả cách tạo một máy chủ ảo đơn giản. Tức là một ứng dụng không hỗ trợ TLS. Để biết thêm ví dụ, bao gồm cả ví dụ về cách tạo máy chủ lưu trữ ảo hỗ trợ TLS, hãy xem phần Định cấu hình quyền truy cập TLS vào API cho đám mây riêng.

Tìm hiểu thêm:

Giới thiệu về bí danh của máy chủ

Khi tạo máy chủ lưu trữ ảo, bạn phải chỉ định bí danh máy chủ lưu trữ của máy chủ lưu trữ ảo. Thông thường, đây là tên DNS của máy chủ lưu trữ ảo.

Bộ định tuyến cạnh 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 một 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ột 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 đến 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://routerIP:9001/proxy-base-path/resource-path -H 'host:myapis.apigee.net'

    Trong biểu mẫu này, bạn sẽ chỉ định địa chỉ IP của Bộ định tuyến và chuyển bí danh máy chủ lưu trữ vào tiêu đề Host.

    curl http://routerIP:9001/proxy-base-path/resource-path

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

Nếu không có mục nhập DNS, bạn có thể đặ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, dưới dạng routerIP:port. Ví dụ:

192.168.1.31:9001

Khi bạn tạo lệnh curl ở dạng bên dưới:

curl http://routerIP:9001/proxy-base-path/resource-path

Bạn nên chọn tuỳ chọ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 Trình định tuyến, hãy thêm bí danh máy chủ lưu trữ cho mỗi Trình định tuyến, chỉ định địa chỉ IP của từng Trình định tuyến và cổng của máy chủ lưu trữ ảo.

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 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 nhập DNS:

curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path

Giới thiệu về cổng máy chủ ảo trên Edge cho Private Cloud 4.16.01 trở lên

Khi tạo máy chủ lưu trữ ảo, bạn chỉ định cổng Bộ định tuyến được máy chủ ảo sử dụng. Ví dụ: cổng 9001.

Đối với các bản phát hành Apigee for Private Cloud 4.16.01 trở lên, theo mặc định, Trình định tuyến sẽ 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, thường là các cổng từ 1024 trở xuống. 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ệ, 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 đó. Hãy xem bài viết Thiết lập máy chủ lưu trữ ảo để biết thêm thông tin.

Tạo máy chủ ảo

Phần này mô tả cách tạo máy chủ ảo cho Apigee Edge cho Đám mây riêng tư. Xin lưu ý rằng để tạo máy chủ ảo mới, bạn phải là quản trị viên của tổ chức.

Bạn có thể tạo máy chủ lưu trữ ảo cho Apigee Edge cho Private Cloud bằng API hoặc giao diện người dùng Edge. Những cách này được mô tả trong các phần sau.

Tạo máy chủ lưu trữ ảo bằng trình duyệt

Phần này mô tả cách tạo máy chủ ảo bằng trình duyệt (chỉ dành cho giao diện người dùng Edge).

Cách tạo máy chủ lưu trữ ảo mới trong giao diện người dùng Edge:

  1. Đăng nhập vào giao diện người dùng quản lý Edge.
  2. Chọn Quản trị > Máy chủ ảo.
  3. Chọn môi trường trong danh sách thả xuống.

    Edge sẽ hiện danh sách máy chủ ảo cho môi trường đó.

  4. Để tạo một máy chủ lưu trữ ảo mới, hãy chọn + Máy chủ lưu trữ ảo.

    Edge hiển thị biểu mẫu Create Virtual Host (Tạo máy chủ lưu trữ ảo).

    Bạn cũng có thể nhấp vào tên của một máy chủ ảo hiện có để chỉnh sửa.

  5. Xác định máy chủ lưu trữ ảo mới. Xin lưu ý rằng trường Base URL (URL cơ sở) phải bao gồm giao thức (tức là đặt tiền tố "http://" hoặc "https://" vào giá trị của trường).

    Ngoài ra, xin lưu ý rằng:

    • Không có giới hạn về số lượng máy chủ lưu trữ ảo mà bạn có thể tạo
    • TLS là không bắt buộc và có thể là phiên bản 1.0, 1.1 hoặc 1.2
    • Có thể định cấu hình cổng của máy chủ ảo
  6. Nhấp vào nút Tạo để lưu máy chủ ảo mới.

Tạo máy chủ ảo bằng API

Để tạo một máy chủ lưu trữ ảo bằng API, hãy tạo một đối tượng XML xác định máy chủ lưu trữ ảo. Ví dụ: đối tượng XML sau đây xác định một máy chủ ảo sử dụng giao thức HTTP:

<VirtualHost name="myVHost">
   <HostAliases>
     <HostAlias>DNS_name_or_IP:port</HostAlias>
   </HostAliases>
   <Interfaces/>
   <Port>9005</Port>
</VirtualHost>

Lưu ý rằng máy chủ ảo chứa một thuộc tính name. Bạn sử dụng giá trị của thuộc tính name để định cấu hình proxy API nhằm sử dụng máy chủ ảo.

Sau đó, bạn có thể truy cập proxy API thông qua máy chủ ảo này bằng cách gửi yêu cầu:

http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-path

Trong trường hợp:

  • http hoặc https: Nếu máy chủ ảo được định cấu hình để hỗ trợ TLS, hãy sử dụng HTTPS. Nếu máy chủ ảo không hỗ trợ TLS, hãy sử dụng HTTP.
  • routerIP:port là địa chỉ IP và số cổng của máy chủ ảo.
  • proxy-base-pathresource-path được xác định khi bạn tạo proxy API.

Thông thường, bạn không phát hành 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 nhập DNS cho Bộ định tuyến và cổng. Ví dụ:

http://api.myCompany.com/proxy-base-path/resource-path
https://api.myCompany.com/proxy-base-path/resource-path

Nếu xác định mục nhập DNS, bạn phải tạo một bí danh máy chủ cho máy chủ ảo khớp với tên miền của mục nhập DNS. Bí danh máy chủ phải khớp với chuỗi mà ứng dụng truyền trong tiêu đề Host. Từ ví dụ trên, bạn sẽ chỉ định bí danh máy chủ là api.myCompany.com.

<VirtualHost name="myVHost">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Interfaces/>
    <Port>9005</Port>
</VirtualHost>

Để tạo một máy chủ ảo sử dụng giao thức HTTP, hãy làm như sau:

  1. Tạo máy chủ ảo bằng cách sử dụng API Tạo máy chủ ảo, trong đó ms-IP là địa chỉ IP hoặc tên miền của nút Máy chủ quản lý:
    $ curl -X POST -H "Content-Type:application/xml" \
    http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \
    -d '<VirtualHost name="newVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Interfaces/>
        <Port>9005</Port>
      </VirtualHost>' \
    -u sysAdminEmail:password
    
  2. Tạo bản ghi DNS cho máy chủ ảo khớp với bí danh máy chủ.
  3. Nếu bạn có bất kỳ proxy API nào hiện có, hãy thêm máy chủ ảo vào phần tử <HTTPConnection> trong Điểm cuối proxy. Máy chủ ảo được thêm tự động vào tất cả proxy API mới. Xem phần Định cấu hình proxy API để sử dụng máy chủ ảo.

Sửa đổi máy chủ ảo

Để sửa đổi máy chủ lưu trữ ảo, hãy thực hiện như sau:

  1. Cập nhật máy chủ ảo bằng cách sử dụng API Cập nhật máy chủ ảo, trong đó <ms-IP> là địa chỉ IP hoặc tên miền của nút Máy chủ quản lý. Bạn phải chỉ định định nghĩa đầy đủ về máy chủ ảo trong nội dung yêu cầu, chứ không chỉ các phần tử mà bạn muốn thay đổi. Trong ví dụ này, bạn thay đổi số cổng của máy chủ ảo từ 9008 thành 9009:

    curl -X PUT -H "Content-Type:application/xml" \
      http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \
      -d '<VirtualHost name="newVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Interfaces/>
        <Port>9009</Port>
      </VirtualHost>' \
      -u email:password
  2. Chỉ đối với Edge for Private Cloud phiên bản 4.16.01 và 4.16.05, nếu bạn sửa đổi một máy chủ ảo hiện có và bật TLS hoặc tắt TLS mà không thay đổi số cổng, thì:
    1. Dừng bộ định tuyến:

      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
    2. Xoá mọi tệp trong /opt/nginx/conf.d:

      rm -f /opt/nginx/conf.d/*
    3. Khởi động Bộ định tuyến:

      /opt/apigee/apigee-service/bin/apigee-service edge-router start
    4. Lặp lại cho tất cả Bộ định tuyến.