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

您正在查看 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 设置从启用更改为停用,或从停用更改为启用。

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

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

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

由于端口 80 不安全,我们建议 Apigee 客户不要再为 API 运行时流量使用端口 80 虚拟主机。其次,由于我们无法验证网域的所有权,因此无法使端口 80 的虚拟主机为 Cloud 提供自助服务。对端口 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. 为面向公众的网域创建指向 [org]-[environment].apigee.net 的 DNS 条目和 CNAME 记录。 如需了解详情,请参阅关于虚拟主机中的“关于主机别名和 DNS 名称”。
  2. 按照 使用 Edge 界面创建密钥库和信任库中所述的步骤创建和配置密钥库。
  3. 将证书和密钥上传到密钥库。
  4. 创建对密钥库的引用,如为 Cloud 配置虚拟主机中所述。
  5. 使用 Create a Virtual Host API 创建虚拟主机,如为 Cloud 配置虚拟主机中所述。请务必指定正确的密钥库引用。
  6. 如果您有任何现有 API 代理,请将虚拟主机添加到 ProxyEndpoint 中的 <HTTPConnection> 元素。虚拟主机会自动添加到所有新的 API 代理中。请参阅 配置 API 代理以使用虚拟主机

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

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

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