适用于私有云的 Edge v4.18.05
Edge 上的虚拟主机定义 API 代理所在的网域和 Edge Router 端口 以及应用用于访问 API 代理的网址。虚拟主机还定义了是使用 HTTP 协议还是使用加密 HTTPS 协议访问 API 代理。
在 Edge 新手入门流程中,您必须创建组织、环境和虚拟主机。Edge 提供 setup-org
命令,
让新用户更轻松地完成升级流程
创建虚拟主机时,您必须指定以下信息:
- 您在 API 中用于引用它的虚拟主机的名称 代理。
- 虚拟主机上的端口。通常,这些端口从 9001 开始,每个新虚拟主机的端口号都会递增 1。
- 虚拟主机的主机别名。通常是虚拟主机的 DNS 名称。
例如,在传递给 setup-org
命令的配置文件中,您可以按如下方式指定此信息:
# 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
边缘路由器会比较Host
列出传入的请求,以确定 API 代理,
处理请求。通过虚拟主机发出请求时,请指定与虚拟主机的主机别名匹配的域名,或者指定路由器的 IP 地址和包含主机别名的 Host
标头。
例如,如果您在端口上创建了一个主机别名为 myapis.apigee.net 的虚拟主机 则通过该虚拟主机向 API 发出的 c网址 请求可能会使用以下某个 表单:
- 如果您有 myapis.apigee.net 的 DNS 条目:
curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
- 如果您没有 myapis.apigee.net 的 DNS 条目,请执行以下操作:
curl http://routerIP:9001/proxy-base-path/resource-path -H 'Host: myapis.apigee.net'
在此表单中,您需要指定路由器的 IP 地址,并将主机别名传入
Host
标头。
没有 DNS 时的选项 虚拟主机的
如果您没有 DNS 条目,可以将主机别名设置为路由器的 IP 地址和虚拟主机的端口,即 routerIP:port。例如:
VHOST_ALIAS=192.168.1.31:9001
然后,您可以使用以下形式创建 curl 命令:
curl http://routerIP:9001/proxy-base-path/resource-path
首选此选项,因为它适合 Edge 界面。
如果您有多个路由器,请为每个路由器添加主机别名,指定 每个路由器和虚拟主机的端口:
# 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"
或者,您也可以将主机别名设置为某个值,例如 temp.hostalias.com
。然后,您必须在每个请求中传递 Host
标头:
curl -v http://routerIP:9001/proxy-base-path/resource-path -H 'host: temp.hostalias.com'
或者,将主机别名添加到 /etc/hosts
文件中。例如,将以下代码行添加到 /etc/hosts
:
192.168.1.31 temp.hostalias.com
然后,您可以像有 DNS 条目一样发出请求:
curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path