Giới thiệu về máy chủ ảo

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 Edge, một Bộ định tuyến xử lý tất cả lưu lượng truy cập API đến. Tức là tất cả HTTP và HTTPS các yêu cầu gửi đến một proxy API sẽ do Bộ định tuyến Edge xử lý trước.

Máy chủ lưu trữ ả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 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 tới 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), cổng Bộ định tuyến mở và máy chủ bí danh. Bí danh máy chủ thường là tên miền DNS ánh xạ tới địa chỉ IP của Bộ định tuyến.

Ví dụ: hình ảnh sau đây hiển thị một Bộ định tuyến với hai định nghĩa 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à miền thứ hai xử lý các yêu cầu HTTP trên domainName2.

Trong một yêu cầu tới một proxy API, Bộ định tuyến so sánh tiêu đề Host của yêu cầu đến với danh sách email đại diện của máy chủ do tất cả máy chủ ảo xác định để xác định xem máy chủ lưu trữ sẽ xử lý yêu cầu.

Giới thiệu về định nghĩa về máy chủ ảo

Máy chủ ảo chứa những thông tin sau:

  • Tên nội bộ của máy chủ lưu trữ ảo. Bạn sử dụng tên đó để tham chiếu đến lưu trữ trong 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ủ ảo. Thông thường, bí danh máy chủ là DNS tên miền ánh xạ tới địa chỉ IP trên Bộ định tuyến. Tiêu đề Host của một Các yêu cầu proxy API phải chứa bí danh máy chủ của máy chủ ảo.
  • Một cổng đang mở trên Bộ định tuyến.
  • Liệu TLS (Truy cập HTTPS) có được bật (Truy cập HTTP) hay không.

Ví dụ: bạn chỉ định thông tin sau đây khi tạo một máy chủ lưu trữ ảo:

  • tên = myvhost
  • bí danh máy chủ lưu trữ = apis.acme.com
  • cổng = 443
  • TLS đang bật

Dựa vào chế độ cài đặt ở trên đối với máy chủ ảo, yêu cầu tới 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 proxy API và là giá trị 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 được 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 dành cho đám mây

Mỗi tổ chức Edge sẽ tự động bao gồm hai môi trường (testprod), hai máy chủ ảo trong mỗi môi trường (mặc địnhbảo mật), và bản ghi DNS cho từng bí danh máy chủ lưu trữ.

Bí danh máy chủ của mỗi máy chủ ảo do Apigee cung cấp có chứa tên của tổ chứcmôi trường, như được hiển thị trong bảng sau:

Môi trường Tên máy chủ ảo Bí danh của người tổ chức Cổng Đã bật TLS
sản phẩm mặc định {org-name}-prod.apigee.net 80 Không
bảo mật {org-name}-prod.apigee.net 443
thử nghiệm mặc định {org-name}-test.apigee.net 80 Không
bảo mật {org-name}-test.apigee.net 443

Ví dụ: tên miền mặc định của 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 proxy API trong tổ chức đó, bạn phải sử dụng 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í của Apigee: Tên miền có chứa "apigee.net" có thể không phải là thông tin mà bạn muốn hiển thị khách hàng. Bạn có thể sử dụng mục nhập DNS và bản ghi CNAME để liên kết tên miền với tổ chức của bạn trên Edge. Bạn cũng phải tạo một máy chủ ảo có bí danh máy chủ lưu trữ được đặt là tên miền của bạn. Quyền này cho phép nhà phát triển truy cập API thông qua một miền dành riêng cho công ty của bạn.

Dưới đâ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 Private Cloud, không có tổ chức mặc định nào. môi trường hoặc máy chủ ả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 "giới thiệu" của chúng tôi.

Để thực hiện quy trình tham gia, hãy chạy lệnh sau trên nút Máy chủ quản lý cạnh:

/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:

  • Người dùng mà bạn chọn để hoạt động với tư cách 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áy chủ ảo trong môi trường có tên default cho phép truy cập HTTP trên cổng 9001
  • Bí danh máy chủ lưu trữ của tên DNS được sử 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 đó, bạn có thể thêm số lượng tổ chức, môi trường và máy chủ ảo bất kỳ vào phiên bản Edge tại cơ sở. Để biết thêm thông tin, hãy xem các bài viết sau:

Máy chủ ảo sẽ được mở trên Edge Router. 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 lệnh trong biểu mẫu bên dưới để mở 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 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 của mình cho khách hàng có đị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://myAPI.myCo.com/{proxy-base-path}/{resource-path}

Khi xác định mục nhập DNS, bạn cũng phải tạo một máy chủ ảo có bí danh máy chủ lưu trữ khớp với tên miền của mục DNS. Từ ví dụ trên, bạn sẽ chỉ định bí danh máy chủ lưu trữ của myAPI.myCo.com khi tạo máy chủ ảo.

Giới thiệu về bí danh máy chủ lưu trữ và tên DNS

Một tài sản mà bạn đặt cho máy chủ ảo là email đại diện của máy chủ. Bí danh máy chủ lưu trữ là thường là tên DNS của máy chủ ảo. Cách đặt bí danh máy chủ lưu trữ tuỳ thuộc vào loại Cài đặt Edge: Đám mây hoặc Đám mây riêng tư.

Bí danh máy chủ lưu trữ và Tên DNS trong Edge dành cho Cloud

Trong Edge dành cho đám mây, khi bạn tạo một tổ chức Edge lần đầu tiên, Apigee sẽ tự động tạo ra hai môi trường (testprod), hai máy chủ ảo trong từng môi trường (mặc địnhbảo mật) và bản ghi DNS cho từng môi trường máy chủ ảo.

Bí danh máy chủ lưu trữ của máy chủ ả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 muốn tạo máy chủ ảo sử dụng tên miền của mình, thay vì sử dụng apigee.net mặc định. Việc cần làm do đó, trước tiên bạn phải tạo mục nhập DNS và bản ghi CNAME của riêng mình.

Hình sau đây là cấu hình thông thường cho 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 mà bạn muốn.
  • Bạn xác định một mục nhập 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 đề Host mà Bộ định tuyến sử 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 định nghĩa máy chủ ảo:

  • tên = myvhost
  • bí danh máy chủ lưu trữ = apis.acme.com
  • cổng = 443
  • Bật quyền truy cập TLS

Xem bài viết Định cấu hình máy chủ ảo cho Đám mây để biết thêm thông tin.

Bí danh máy chủ và tên DNS trong Edge dành cho Private Cloud

Giống như với Edge dành 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 máy chủ lưu trữ bí danh. Sau đó, bạn tạo mục nhập 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 tên DNS được tạo tự động cho tổ chức của bạn, ở dạng:

  • name=default: http://{org-name}-{env-name}.apigee.net (Cổng bộ định tuyến 80)
  • tên=bảo mật: https://{org-name}-{env-name}.apigee.net (Cổng bộ định tuyến 443)

Trong Edge dành cho Cloud riêng tư, bạn phải tạo các mục nhập 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 phần định nghĩa máy chủ ảo:

  • tên = myvhost
  • bí danh máy chủ lưu trữ = apis.acme.com
  • cổng = 9001
  • Bật quyền truy cập TLS

Hình sau đây là cấu hình thông thường cho 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 mà bạn muốn.
  • Bạn xác định một mục nhập DNS và bản ghi CNAME để trỏ api.acme.com đến IP địa chỉ và cổng của Bộ định tuyến.
  • Yêu cầu này chứa tiêu đề Host mà Bộ định tuyến sử dụng để xác định máy chủ ảo xử lý yêu cầu.

Xem bài viết Định cấu hình máy chủ ảo cho Đám mây riêng tư để biết thêm thông tin.

Lưu trữ bí danh và ký tự đại diện

Bạn có thể bao gồm "*" ký tự đại diện trong bí danh máy chủ lưu trữ. "*" ký tự đại diện có thể chỉ ở phần đầu (trước ".") đầu tiên của bí danh máy chủ lưu trữ và không thể kết hợp với tên khác ký tự.

Sau đây là ví dụ về bí danh máy chủ hợp lệ bằng cách sử dụng ký tự đại diện:

*.example.com

Các ví dụ sau đây 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 Proxy API xử lý các lệnh 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 dùng ít chế độ ảo hơn máy chủ lưu trữ cho mỗi môi trường để nằm trong 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 dành cho máy chủ lưu trữ ảo phải có ký tự đại diện khớp trong tên CN của chứng chỉ đó. Ví dụ: *.example.com.

Giới thiệu về thuộc tính lưu trữ ảo

Trong Edge, máy chủ ả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 tài sản mà bạn có thể đặt là dựa trên việc bạn có đang sử dụng Edge cho Cloud hoặc Edge cho Đám mây riêng tư. 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. Để xem nội dung mô tả đầy đủ về tất cả thuộc tính của máy chủ lưu trữ ảo, hãy xem Tài liệu tham khảo về thuộc tính máy chủ lưu trữ ả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ể của bạn, hãy xem: