关于配置虚拟主机的常见问题解答

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
info

Edge Cloud 客户现在可以创建、修改和删除虚拟主机。以前,这些 操作必须由Apigee Edge 支持团队执行。

谁可以在 Edge Cloud 中配置虚拟主机?

只有拥有付费账号的 Cloud 客户才能创建、修改和删除虚拟主机。创建虚拟主机的用户必须担任组织管理员角色,或者担任具有修改虚拟主机权限的自定义角色。其他角色的用户无权创建虚拟主机。

自定义角色需要对 /environments/*/virtualhosts、 或其任何父资源具有 GET、PUT 和 DELETE 权限。 如需了解详情,请参阅使用 API 创建角色

如果我有一个由 Apigee 创建的现有虚拟主机 ,该怎么办?

现有 Edge Cloud 客户已拥有由 Apigee 创建的虚拟主机。您现在可以修改 这些虚拟主机。

不过,在进行任何更改之前,请先查看为 Cloud 配置虚拟主机中的修改虚拟主机的要求。例如,如果您的现有虚拟主机 配置为使用 443 以外的端口,则无法更改端口号或 TLS 设置。 这意味着您无法将 TLS 设置从启用更改为停用, 或从停用更改为启用。

在 Cloud 中的虚拟 主机中可以使用哪个端口?

在 Cloud 中的虚拟主机中,您只能使用端口 443。您不能使用端口 80 或任何其他端口。

为什么我无法在 Cloud 中的虚拟主机中使用端口 80?

我们建议 Apigee 客户不要将端口 80 虚拟主机用于 API 运行时流量 ,因为端口 80 不安全。其次,由于我们无法验证网域的所有权 ,因此无法让 Cloud 自行维护端口 80 虚拟主机。 对端口 80 虚拟主机的更改被视为非标准更改,因此,Apigee Edge 支持团队 保留拒绝此类更改的权利。

Cloud 中的所有新虚拟 主机是否都需要 TLS?

如需创建虚拟主机,您必须 在虚拟主机上启用 TLS。这意味着 您必须先使用 TLS 证书和密钥创建密钥库,然后才能创建虚拟主机。

您必须拥有由受信任的实体(例如 Symantec 或 VeriSign)签名的证书。 您不能使用自签名证书,也不能使用由自签名 CA 签名的叶证书。

如需了解详情,请参阅配置 Cloud 虚拟主机

我可以固定 Apigee 免费试用证书吗?

出于安全考虑,Apigee 免费试用证书每三个月失效一次。在三个月结束时,Apigee 会将失效的证书替换为新证书。因此,Apigee 不建议或不支持固定免费试用证书。

我可以更新虚拟 主机使用的 TLS 证书吗?

如果您有一个 TLS 证书即将失效的虚拟主机,则可以更新该虚拟主机以 使用包含有效证书的其他密钥库。

什么是参考?

引用是一个包含密钥库名称的变量。如需更改虚拟主机使用的密钥库,您需要更新引用变量,而不是虚拟主机本身。

Apigee Edge 上的旧虚拟主机可能未配置为使用引用。在这种情况下, 您 必须 请求 Apigee Edge 支持团队 更新 虚拟主机以使用引用。请勿自行更新虚拟主机以将其更改为 使用引用。

如何确定我的虚拟主机是否使用 引用?

如需查看有关特定虚拟主机的信息,请使用 Get Virtual Host API:

curl -X GET -H "accept:application/xml" \
  https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts/{vhost_name} \
  -u orgAdminEmail:pWord

其中,vhost_name 是 虚拟主机的名称。例如,您可以将 vhost_name 指定为“secure”,以 查看默认安全虚拟主机的配置:

<VirtualHost name="secure">
    <HostAliases>
        <HostAlias>orgname-prod.apigee.net</HostAlias>
    </HostAliases>
    <Interfaces/>
    <Port>443</Port>
    <Properties/>
    <SSLInfo>
        <ClientAuthEnabled>false</ClientAuthEnabled>
        <Enabled>true</Enabled>
        <KeyAlias>freetrial</KeyAlias>
        <KeyStore>ref://freetrial</KeyStore>
        <IgnoreValidationErrors>false</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

请注意,在此示例中,响应中 <KeyStore> 元素的值 以 ref:// 开头。该前缀表示密钥库使用引用。

如果 <KeyStore> 元素 的值是字符串字面量,则表示它不使用引用。例如:

<KeyStore>mykeystore</KeyStore>

请勿自行更新虚拟主机以将其更改为使用 引用。必须 请求 Apigee Edge 支持团队更新 虚拟主机以使用引用。在 Apigee 将虚拟主机更新为使用 引用后,您可以通过更新引用变量来更改密钥库。

如需了解详情,请参阅配置 Cloud 虚拟主机

如何创建虚拟主机?

请按照以下步骤创建虚拟主机:

  1. 为面向公众的网域创建 DNS 条目和 CNAME 记录,以指向 [org]-[environment].apigee.net. 如需了解详情,请参阅虚拟主机简介中的“关于主机别名和 DNS 名称”。
  2. 按照使用 Edge 界面创建密钥库和信任库 中所述的步骤创建和配置密钥库。
  3. 将证书和密钥上传到密钥库。
  4. 按照在 为 Cloud 配置虚拟主机 中所述,创建对密钥库的引用。
  5. 按照为Configuring virtual hosts for the Cloud配置虚拟主机中所述,使用Create a Virtual Host API 创建虚拟主机。请务必指定正确的密钥库引用。
  6. 如果您有任何现有 API 代理,请将虚拟主机添加到 <HTTPConnection> 元素在 ProxyEndpoint。虚拟主机会自动添加到所有新的 API 代理中。 请参阅 配置 API 代理以使用虚拟主机

我可以要求 Apigee 在 Apigee Edge Cloud 上屏蔽 TCP 端口 80、443 或 15999 吗?

由于我们的客户在 TCP 端口 443 上配置虚拟主机,有时也会在 TCP 端口 80 上配置虚拟主机 (尽管不建议使用端口 80),因此我们无法屏蔽这些端口,因为这样做会导致 所有 API 运行时流量失败。

TCP 端口 15999 在 Cloud 中内部使用,用于确定路由器是否正常运行 因此也不应屏蔽,因为这样做可能会对 API 运行时造成不可预见的影响。