以下针对高级服务器端组件的设置是可选的,并将应用于使用配置文件的所有服务。这些设置应添加到服务器端组件所需配置中描述的application.conf文件中。

proxy(可选)

此元素用于配置服务器端组件发出的出站 HTTP/HTTPS 请求所使用的 HTTP 代理。

默认代理设置从 JVM 系统属性中获取,通常通过命令行提供,如Java 网络属性中所定义。系统属性http.proxyHost、http.proxyPort、http.nonProxyHosts、https.proxyHost、https.proxyPort均被识别,此外还支持http.proxyUser和http.proxyPassword以支持需要认证的代理。

此可选的 proxy 元素提供了替代方案,可用于不通过 JVM 系统属性提供代理设置,或用于覆盖系统属性。

类型设置描述

元素

proxy

存储服务器端组件的 HTTP 出站代理设置。

属性

http.proxyHost

定义普通 HTTP(非 HTTPS)连接代理主机名的字符串。(必需)

属性

http.proxyPort

定义普通 HTTP(非 HTTPS)连接代理端口号的整数。(必需)

属性

http.nonProxyHosts

一个由竖线("|")分隔的字符串列表,列出排除在代理之外的主机和域名,适用于both普通 HTTP 和 HTTPS 连接。字符串可包含通配符星号("*")。(可选,若未设置则默认为"localhost|127.*|[::1]"。)

属性

https.proxyHost

定义 HTTPS 连接代理主机名的字符串。(可选)

属性

https.proxyPort

定义 HTTPS 连接代理端口号的整数。(可选)

属性

http.proxyUser

用于认证bothHTTP 和 HTTPS 代理的用户名。(可选)

属性

http.proxyPassword

用于认证bothHTTP 和 HTTPS 代理的密码。(可选)

在以下示例中,除了 localhost 和 example.com 域之外,所有 HTTP 和 HTTPS 连接都通过 someproxy.example.com 的 8080 端口进行代理,且 someproxy.example.com 不需要认证。

ephox {
  proxy {
    http.proxyHost = "someproxy.example.com"
    http.proxyPort = "8080"
    https.proxyHost = "someproxy.example.com"
    https.proxyPort = "8080"
    http.nonProxyHosts = "localhost|*.example.com"
  }
}

http(可选)

某些服务器端组件会发出出站 HTTP 和 HTTPS 连接。这些组件包括链接检查器、图像编辑器和增强型媒体嵌入。在评估或预生产环境中,您可能希望测试这些功能,使其与具有不受信任 SSL 证书的资源(例如带有自签名 SSL 证书的内部服务器)进行交互。在这些情况下,可以绕过所有 SSL 安全性。

但这不建议在生产环境中使用。

类型设置描述

元素

http

配置 HTTP 客户端行为。

属性

trust-all-cert

布尔值,指示是否绕过 SSL 安全性并无条件信任所有 SSL 证书。默认值:false

属性

request-timeout-seconds

整数,定义允许 HTTP 请求执行的秒数。默认值:10

示例:

ephox {
  http {
    trust-all-cert = true
  }
}

可以设置出站 HTTP 和 HTTPS 连接的请求超时时间。将其设置为更大的值将允许传输更大的文件,但可能需要较长时间。例如,如果您期望通过图像代理服务获取非常大的文件。

示例:

ephox {
  http {
    request-timeout-seconds = 15
  }
}

其他 http 超时设置

当需要对超时设置进行更精细的控制时,可以使用以下三个设置来代替request-timeout-seconds设置:

  • connection-request-timeout-seconds:等待连接池建立连接的时长。

  • connect-timeout-seconds:等待建立连接的时长。

  • socket-timeout-seconds:连接建立后,数据包之间的等待时长。

如果需要其中任一设置,请移除request-timeout-seconds并为这三个设置指定值。

例如:

ephox {
  http {
    connection-request-timeout-seconds = 10
    connect-timeout-seconds = 5
    socket-timeout-seconds = 4
  }
}