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

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

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

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

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

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

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

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

但是,在进行任何更改之前,请查看为 Cloud 配置虚拟主机中有关修改虚拟主机的要求。例如,如果现有虚拟主机配置为使用 443 以外的端口,则无法更改端口号或 TLS 设置。也就是说,您无法将 TLS 设置从“已启用”更改为“已停用”,也无法从“已停用”更改为“已启用”。

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

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

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

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

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

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

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

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

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

出于安全考虑,Apigee 的免费试用证书每三个月就会过期。这 3 个月结束时,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. 为面向公众的网域创建指向 [org]-[environment].apigee.net 的 DNS 条目和 CNAME 记录。如需了解详情,请参阅关于虚拟主机中的“关于主机别名和 DNS 名称”。
  2. 按照 使用 Edge 界面创建密钥库和信任库中所述的过程创建和配置密钥库。
  3. 将您的证书和密钥上传到密钥库。
  4. 按照为 Cloud 配置虚拟主机中的说明创建对密钥库的引用。
  5. 按照为 Cloud 配置虚拟主机中所述,使用创建虚拟主机 API 创建虚拟主机。请务必指定正确的密钥库引用。
  6. 如果您有任何现有的 API 代理,请将虚拟主机添加到 ProxyEndpoint 的 <HTTPConnection> 元素中。虚拟主机会自动添加到所有新的 API 代理。请参阅 配置 API 代理以使用虚拟主机

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

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

TCP 端口 15999 在 Cloud 内部使用,用于确定路由器是否正常,因此不应阻止,因为这可能会导致意外的 API 运行时影响。