Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu 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 bất kỳ tổ chức nào, trong mọi môi trường, có sử dụng TLS hay không.
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 máy chủ không hỗ trợ TLS. Để xem 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 một API cho Đám mây riêng.
Tìm hiểu thêm:
- Giới thiệu về máy chủ ảo
- Định cấu hình máy chủ ảo
- Định cấu hình TLS
- Kho khoá và kho tin cậy
- Định cấu hình quyền truy cập TLS vào một API cho Đám mây riêng
Giới thiệu về bí danh máy chủ lưu trữ
Khi tạo máy chủ ảo, bạn phải chỉ định bí danh máy chủ của máy chủ ảo. Thông thường, đây là tên DNS của máy chủ ảo.
Bộ định tuyến biên 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ủ lưu trữ có sẵn 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ột máy chủ ả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ủ ả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 dạng 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 chỉ định địa chỉ IP của Bộ định tuyến và truyền bí danh máy chủ trong 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 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, dưới dạng routerIP:port. Ví dụ:
192.168.1.31:9001
Khi bạn đưa ra 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 từng Bộ định tuyến và cổng của máy chủ lưu trữ ảo.
Hoặc 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ể đưa ra 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
Giới thiệu về các cổng máy chủ ảo trên Edge cho Private Cloud 4.16.01 trở lên
Khi tạo một máy chủ lưu trữ ảo, bạn chỉ định cổng Router mà máy chủ lưu trữ ảo sử dụng. Ví dụ: cổng 9001.
Đối với Apigee cho Private Cloud phiên bản 4.16.01 trở lên, 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, thường là cổng 1024 trở xuống. 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ệ, 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ủ ả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. Xin lưu ý rằng để tạo một máy chủ ảo mới, bạn phải là quản trị viên tổ chức.
Bạn có thể tạo máy chủ ảo cho Apigee Edge cho Đám mây riêng tư bằng cách sử dụng API hoặc giao diện người dùng Edge. Những điều này được mô tả trong các phần sau.
Tạo máy chủ ả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ột máy chủ ảo mới trong giao diện người dùng Edge:
- Đăng nhập vào giao diện người dùng quản lý Edge.
- Chọn Admin > Virtual Hosts (Quản trị > Máy chủ ảo).
Chọn môi trường trong danh sách thả xuống.
Edge hiển thị danh sách các máy chủ ảo cho môi trường đó.
- Để tạo một máy chủ ảo mới, hãy chọn + Virtual Host (+ Máy chủ ảo).
Edge sẽ hiển thị biểu mẫu Create Virtual Host (Tạo máy chủ ả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.
- Xác định máy chủ ảo mới. Xin lưu ý rằng trường URL cơ sở phải có giao thức (tức là thêm "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ủ ả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
- Bạn có thể định cấu hình cổng của máy chủ ảo
- 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ủ ảo bằng API, hãy tạo một đối tượng XML xác định máy chủ ả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>Xin 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 một proxy API nhằm sử dụng máy chủ ảo.
Sau đó, bạn có thể truy cập vào một proxy API thông qua máy chủ ảo này bằng cách đưa ra yêu cầu đến:
http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-pathTrong trường hợp:
httphoặchttps: 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-path và resource-path được xác định khi bạn tạo proxy API.
Thông thường, bạn không xuất bản 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 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 DNS, thì bạn phải tạo một bí danh máy chủ lưu trữ cho máy chủ lưu trữ ảo khớp với tên miền của mục DNS. Bí danh máy chủ lưu trữ phải khớp với chuỗi mà ứng dụng truyền trong tiêu đề Host.
Trong ví dụ trên, bạn sẽ chỉ định một bí danh máy chủ lưu trữ 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 thực hiện như sau:
- 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
- Tạo bản ghi DNS cho máy chủ ảo khớp với bí danh máy chủ.
- Nếu bạn có bất kỳ proxy API hiện có nào, hãy thêm máy chủ ảo vào phần tử
<HTTPConnection>trong Proxy Endpoint. Máy chủ ảo sẽ tự động được thêm vào tất cả các proxy API mới. Xem phần Định cấu hình một proxy API để sử dụng máy chủ lưu trữ ảo.
Sửa đổi máy chủ ảo
Để sửa đổi một máy chủ ảo, hãy thực hiện các bước sau:
-
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 toàn bộ định nghĩa về máy chủ ảo trong phần nội dung yêu cầu, chứ không chỉ những 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 -
Chỉ dành cho 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ạn bật TLS hoặc tắt TLS mà không thay đổi số cổng, thì:
Dừng bộ định tuyến:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
Xoá mọi tệp trong
/opt/nginx/conf.d:rm -f /opt/nginx/conf.d/*
Khởi động bộ định tuyến:
/opt/apigee/apigee-service/bin/apigee-service edge-router start
- Lặp lại thao tác này cho tất cả các Bộ định tuyến.