<ph type="x-smartling-placeholder"></ph>
您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 信息
虚拟主机表示法
您用来定义虚拟主机的 XML 对象基于您的 Edge 版本:Cloud 或私有云。
如果您是私有云客户,则必须确保针对 使用 Edge 版本。
云和私有云 4.17.01 及更高版本
<VirtualHost name="vhostName"> <Port>portNumber</Port> <BaseUrl>http://myCo.com</BaseUrl> <OCSPStapling>offOn</OCSPStapling> <HostAliases> <HostAlias>hostAlias</HostAlias> </HostAliases> <Interfaces> <!-- Private Cloud only --> <Interface>interfaceName</Interface> </Interfaces> <RetryOptions> <RetryOption>option</RetryOption> </RetryOptions> <ListenOptions> <ListenOption>option</ListenOption> </ListenOptions> <SSLInfo> <Enabled>trueFalse</Enabled> <ClientAuthEnabled>trueFalse</ClientAuthEnabled> <KeyStore>ref://keystoreRef</KeyStore> <KeyAlias>keyAlias</KeyAlias> <TrustStore>ref://truststoreRef</TrustStore> <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors> </SSLInfo> <!-- UseBuiltInFreeTrialCert is for Edge Cloud only --> <UseBuiltInFreeTrialCert>trueFalse</UseBuiltInFreeTrialCert> <PropagateTLSInformation> <!-- PropagateTLSInformation is Alpha in the Cloud only --> <ConnectionProperties>trueFalse</ConnectionProperties> <ClientProperties>trueFalse</ClientProperties> </PropagateTLSInformation> <Properties> <Property name="proxy_read_timeout">timeout</Property> <Property name="keepalive_timeout">timeout</Property> <Property name="proxy_request_buffering">onOff</Property> <Property name="proxy_buffering">onOff</Property> <!-- ssl_protocols is Private Cloud only --> <Property name="ssl_protocols">protocolList</Property> <Property name="ssl_ciphers">cipherList</Property> </Properties> </VirtualHost>
Private Cloud 4.16.01 至 4.16.09
<VirtualHost name="vhostName"> <Port>portNumber</Port> <HostAliases> <HostAlias>hostAlias</HostAlias> </HostAliases> <Interfaces> <Interface>interfaceName</Interface> </Interfaces> <SSLInfo> <Enabled>trueFalse</Enabled> <ClientAuthEnabled>trueFalse</ClientAuthEnabled> <KeyStore>ref://keystoreRef</KeyStore> <KeyAlias>keyAlias</KeyAlias> <TrustStore>ref://truststoreRef</TrustStore> <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors> </SSLInfo> </VirtualHost>
Private Cloud 4.15.07 和 更早
<VirtualHost name="vhostName"> <Port>portNumber</Port> <HostAliases> <HostAlias>hostAlias</HostAlias> </HostAliases> <Interfaces> <Interface>interfaceName</Interface> </Interfaces> <SSLInfo> <Enabled>trueFalse</Enabled> <ClientAuthEnabled>trueFalse</ClientAuthEnabled> <KeyStore>keystore</KeyStore> <KeyAlias>keyAlias</KeyAlias> <TrustStore>truststore</TrustStore> <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors> <Ciphers> <Cipher>cipher</Cipher> <Cipher>cipher</Cipher> </Ciphers> <Protocols> <Protocol>protocol</Protocol> <Protocol>protocol</Protocol> </Protocols> </SSLInfo> </VirtualHost>
虚拟主机配置属性
下表列出了用于配置虚拟主机的属性:
属性 | 说明 | 默认 | 必填 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
VirtualHost |
指定虚拟主机的名称。您可以使用该名称来引用虚拟主机, 需要注意的一点是 名称属性中可以使用的字符仅限于:A-Z0-9._\-$%。 |
无 | 是 | ||||||||||||
端口 |
指定虚拟主机使用的端口号。请确保端口在 边缘路由器。 如果您在 对于 Cloud:您必须在创建虚拟主机时指定端口 443。如果 则端口会默认设为 443。如果您有一个使用 端口不是 443,则无法更改端口。 对于 Private Cloud 版本 4.16.01 至 4.17.05:创建 则您需要指定虚拟主机使用的路由器端口。例如,端口 9001。默认情况下,路由器以用户“apigee”的身份运行它无权访问 特权端口,通常是 1024 及以下端口。如果您想创建虚拟主机 将路由器绑定到受保护的端口,则必须将该路由器配置为以 有权访问这些端口的用户请参阅 设置虚拟主机 。 对于 4.16.01 之前的 Private Cloud 版本:路由器可以监听 在特定端口上,每个虚拟主机仅有一个具有指定证书的 HTTPS 连接。 因此,当 TLS 终止时,多个虚拟主机无法使用同一个端口号 都发生在路由器指定端口的端口上。 |
无 | 是 | ||||||||||||
BaseUrl | 覆盖已部署到虚拟机中的 API 代理的 Edge 界面显示的网址。
主机。在边缘路由器前面设置外部负载平衡器时非常有用。请参阅
配置 TLS
访问适用于私有云的 API。
|
无 | 否 | ||||||||||||
OCSPStapling |
OCSP(在线证书状态协议)客户端将状态 向 OCSP 响应程序发送请求,以确定 TLS 证书是否有效。响应 指示 TLS 证书是否有效且未被吊销。 启用后,OCSP 安装会允许 Edge 充当单向 TLS 的 TLS 服务器, 直接查询 OCSP 响应程序,然后缓存响应。 然后,Edge 会在 TLS 握手过程中将此响应返回给 TLS 客户端或将其固定。 请参阅在服务器上启用 OCSP 装订 。 必须启用 TLS 才能启用 OCSP 装订。设为 |
关闭 | 否 | ||||||||||||
HostAliases | |||||||||||||||
HostAlias |
路由器上虚拟主机的公开显示 DNS 名称,可以选择包含 端口号。虚拟主机的主机别名名称和端口号的组合必须 对于 Edge 安装中的所有虚拟主机而言都是唯一的。这意味着会有多个 如果主机具有不同的主机别名,则可以使用相同的端口号。 您必须创建与主机别名和主机匹配的 DNS 条目和 CNAME 记录
别名必须与客户端在
您可以有多个 您可以在通配符。“*”通配符可以
只能位于主机别名的开头(在第一个“.”之前),且不能与其他字符混用。
例如 对于 Cloud:如果您现有的虚拟主机使用其他端口 则不能添加或移除主机别名。 对于私有云:如果要使用 IP 地址设置主机别名 您需要为每个路由器地址(而不是 DNS 条目)添加单独的主机别名, Router(路由器),指定每个路由器的 IP 地址和虚拟主机的端口。 |
无 | 是 | ||||||||||||
接口 | 仅适用于 Private Cloud 的 Edge。 | ||||||||||||||
接口 |
指定您希望 例如,如需指定将端口仅绑定到 en0,请使用以下代码: <Interfaces> <Interface>en0</Interface> </Interfaces> 通过运行“ifconfig -a”来确定系统上可用的接口 命令。 |
无 | 所有接口 | ||||||||||||
RetryOptions | 适用于 Edge Cloud 和 Private Cloud 4.18.01 及 。 | ||||||||||||||
RetryOption |
配置路由器在消息处理器进入时针对此虚拟主机的反应方式 。 您可以使用
如果您指定多个值,路由器会使用逻辑 OR 将这些值组合起来。 例如: <RetryOptions> <RetryOption>http_599</RetryOption> <RetryOption>error</RetryOption> <RetryOption>timeout</RetryOption> <RetryOption>invalid_header</RetryOption> </RetryOptions> |
||||||||||||||
ListenOptions | 适用于 Private Cloud 4.18.01 及更高版本和 Edge 向 Apigee Edge 支持团队提出申请。 | ||||||||||||||
ListenOption |
如果您在 TCP 直通模式下使用 ELB 来处理发送到边缘路由器的请求,
路由器将 ELB 的 IP 地址(而不是客户端 IP)视为客户端 IP
实际的客户端 IP如果路由器需要真正的客户端 IP,
在以下设备上启用
例如: <ListenOptions> <ListenOption>proxy_protocol</ListenOption> </ListenOptions> 如需稍后取消设置 |
||||||||||||||
SSLInfo | |||||||||||||||
已启用 |
启用单向 TLS/SSL。您必须已定义包含证书和 私钥。 对于 Cloud 服务:您必须拥有由 Symantec 或 VeriSign 等可信实体签署的证书。 您不能使用自签名证书或由自签名 CA 签名的叶证书。 对于 Cloud:如果您的现有虚拟主机配置为使用端口 则无法更改 TLS 设置。也就是说,您无法将 TLS 设置从 从“已启用”更改为“已停用”,或从“已停用”更改为“已启用”。 |
false | 否 | ||||||||||||
ClientAuthEnabled | 在边缘(服务器)和应用(客户端)之间启用双向 TLS, 请求。如要启用双向 TLS,您必须在 Edge 上设置包含以下内容的信任库: 从 TLS 客户端获取证书。 | false | 否 | ||||||||||||
KeyStore |
Edge 上的密钥库的名称。 Apigee 建议您使用引用来指定密钥库名称, 可以更改密钥库,而无需重启路由器。请参阅适用于 配置 TLS 了解详情。 |
无 | 如果“已启用”为 true,则为“是” | ||||||||||||
KeyAlias | 将证书和私钥上传到密钥库时指定的别名。您 必须按字面指定别名;您不能使用引用。请参阅配置选项 TLS 了解详情。 | 无 | 如果“已启用”为 true,则为“是” | ||||||||||||
TrustStore |
Edge 上包含证书或证书链的信任库的名称
用于双向 TLS如果 Apigee 建议您使用引用来指定信任库名称,以便 而无需重启路由器即可更改信任库。请参阅适用于 配置 TLS 了解详情。 |
无 | 否 | ||||||||||||
IgnoreValidationErrors |
如果为 true,则表示忽略 TLS 证书错误。这类似于“-k”选项 复制到 c网址。 在为目标服务器和目标端点配置 TLS 时,此选项有效; 在配置使用双向 TLS 的虚拟主机时需要注意的事项。 当与目标端点/目标服务器搭配使用时,如果后端系统使用 SNI,并返回主题标识名 (DN) 与主机名不匹配的证书,则您无法忽略该错误且连接会失败。 |
false | 否 | ||||||||||||
加密 |
仅适用于适用于私有云的 Edge 版本 4.15.07 及更低版本。 指定虚拟主机支持的加密方式。如果未指定加密方式,则 将允许 JVM 可用的所有密码。 如需限制加密算法,请添加以下元素: <Ciphers> <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Cipher> <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Cipher> </Ciphers> |
全部由 JVM 支持 | 否 | ||||||||||||
协议 |
仅适用于适用于私有云的 Edge 版本 4.15.07 及更低版本。 指定虚拟主机支持的协议。如果没有指定协议 那么将允许 JVM 可用的所有协议。 如需限制协议,请添加以下元素: <Protocols> <Protocol>TLSv1</Protocol> <Protocol>TLSv1.2</Protocol> <Protocol>SSLv2Hello</Protocol> </Protocols> |
全部由 JVM 支持 | 否 | ||||||||||||
UseBuiltInFreeTrialCert | 仅适用于 Edge Cloud。 | ||||||||||||||
UseBuiltInFreeTrialCert |
如果您有付费的 Cloud Edge 账号,但尚未设置 TLS 证书和密钥,可以执行以下操作: 创建使用 Apigee 免费试用证书和密钥的虚拟主机。也就是说,您可以创建 而无需先创建密钥库。 Apigee 免费试用证书是为 |
false | 否 | ||||||||||||
PropagateTLSInformation | 仅在 Edge Cloud 中推出 Alpha 版。 | ||||||||||||||
ConnectionProperties |
启用 Edge 捕获 TLS 连接信息的功能。 然后,此信息将以流变量的形式在 API 代理中提供。 请参阅访问 API 代理中的 TLS 连接信息 。 |
false | 否 | ||||||||||||
ClientProperties |
启用 Edge 在双向 TLS 中捕获的客户端证书详细信息的功能。 然后,此信息将以流变量的形式在 API 代理中提供。 请参阅访问 API 代理中的 TLS 连接信息 。 |
false | 否 | ||||||||||||
媒体资源 | 适用于 Edge Cloud 和 Private Cloud 4.17.01 及 。 | ||||||||||||||
proxy_read_timeout |
设置消息处理器和路由器之间的超时持续时间(以秒为单位)。通过 路由器会丢弃连接,如果未收到一个 HTTP 504 响应, 。 Proxy_read_timeout 的值应大于所用的目标超时值
由消息处理器处理这样可确保路由器在
消息处理器有时间返回响应。超时的
根据
消息的 |
57 | 否 | ||||||||||||
keepalive_timeout |
设置客户端与路由器之间的超时持续时间(以秒为单位) 发出包含 Keep-Alive 标头的请求。路由器会保持连接打开 直到有效期结束 如果路由器当前正在等待响应,则不会关闭连接 从消息处理器中进行处理只有在路由器返回响应后,超时才会开始 。 |
65 | 否 | ||||||||||||
ssl_ciphers |
设置虚拟主机支持的加密方式,覆盖针对 。 指定以英文冒号分隔的加密算法列表,格式如下: <Property name="ssl_ciphers">HIGH:!aNULL:!MD5:!DH+3DES:!kEDH;</Property> 如需了解此令牌允许的语法和值,请参阅 https://www.openssl.org/docs/man1.0.2/man1/ciphers.html。 请注意,此令牌使用 OpenSSL 加密名称(例如 AES128-SHA256),而不是 Java/JSSE 加密名称,例如 TLS_RSA_WITH_AES_128_CBC_SHA256。 |
HIGH:!aNULL:
!MD5: !DH+3DES: !kEDH |
否 | ||||||||||||
ssl_protocols |
仅适用于 Private Cloud 的 Edge。 将虚拟主机支持的 TLS 协议设置为以空格分隔的列表, 覆盖路由器上设置的默认协议。 注意:如果两个虚拟主机共享同一个端口,则必须将
指定以空格分隔的 TLS 协议列表,格式如下: <Property name="ssl_protocols">TLSv1 TLSv1.2</Property> |
TLSv1 TLSv1.1 TLSv1.2 | 否 | ||||||||||||
proxy_request_buffering |
启用(开启)或停用(关闭)对请求正文的缓冲。开启缓冲后, 在将请求正文发送到消息处理器之前,路由器会缓冲整个请求正文。如果 出现了错误,路由器可以重试其他消息处理器。 如果关闭,则会停用缓冲,并将请求正文发送到消息处理器 即时更新。如果发生错误,则路由器不会重试 向另一个消息处理器发出广告请求。 |
开启 | 否 | ||||||||||||
proxy_buffering | 启用(开启)或禁用(关闭)响应缓冲。开启缓冲后, 路由器会缓冲响应。关闭缓冲功能后,响应会传递到客户端 在路由器收到数据后立即同步。 | 开启 | 否 |