通用

1. 修改配置

在全局配置页面,可以设置网关节点的默认配置。

点击通用,在通用页面右侧是主要分类,可以点击具体分类,快速进入相应的设置选项区。 目前主要有:Worker、SSL、Proxy、Client Request、File Buffer、Log、DNS、Gzip、Brotli 以及 Others。

Worker connections

比如 Worker connections,可以用它控制每个工作进程的最大默认连接数。 这里修改为 10777,并点击右侧的 Save 按钮。

保存成功会自动同步到对应分区的所有网关节点。

SSL

对于 SSL ciphersSSL protocols ,这里提供了四个默认选项。

  • Modern:适用于对客户端比较新的情况。
  • Intermdiate:均衡版本,默认推荐选项。
  • Old:适用于对客户端比较老的情况。
  • Custom:当上面三个默认选项都不能满足需求是,可以进行自定义。

Proxy

Proxy 类,可以设置 代理缓存区代理缓冲区代理临时目录等代理相关的配置项。

  • 使用旧代理缓存(Use stale proxy cache):如果没有被代理的服务器能处理请求,则允许使用陈旧的缓存进行响应。
  • 代理缓存区(Proxy Cache Zone):如果我们有多块磁盘,可以设置多个 Proxy Cache Zone 这样可以把缓存分配到不同物理磁盘上提高性能。
  • 代理临时目录(Proxy temporary path):自定义路径用来存储从被代理服务器返回的临时文件。
  • 拦截源站错误页(Intercept the origin site’s error pages):决定是否在状态码 >= 300 时,由 OpenResty Edge 拦截并处理。默认不开启此选项。
  • 代理缓冲区大小(Proxy buffer size):设置用于读取从被代理服务器接收第一部分响应的缓冲区大小。
  • 代理缓冲区(Proxy buffers):为单个连接设置用于从被代理服务器读取响应的缓冲区的数量和大小。如果无法缓存完整的响应,则响应可能会被写入到临时文件中。
  • 代理忙缓冲区大小(Proxy busy buffers size):限制在响应尚未完全读取时可能忙于向客户端发送响应的缓冲区的总大小。
  • 代理临时文件写入大小(Proxy temporary file write size):限制一次写入临时文件的大小。
  • 代理连接超时时间(Proxy connect timeout):设置与被代理服务器建立连接的超时时间,此超时通常不能超过 75 秒。
  • 代理读取超时时间(Proxy reading timeout):设置从被代理服务器读取响应的超时时间。超时仅设置在两个连续的读取操作之间,而不是针对整个响应的传输。
  • 代理发送超时时间(Proxy sending timeout):设置将请求传输到被代理服务器的超时时间。超时仅设置在两个连续的写操作之间,而不是针对整个请求的传输。
  • 代理忽略客户端中止(Proxy ignore client abort):当客户端关闭连接而不等待响应时是否应关闭与被代理服务器的连接。
  • 代理缓存重新生效(Proxy cache revalidate):对带有 “If-Modified-Since” 和 “If-None-Match” 头的条件请求启用过期缓存内容的重新验证。

HTTP 请求参数配置

HTTP 请求包含如下配置项:

  1. 客户端请求体临时目录

    用来存放客户端请求体的临时目录定义了一个目录,用于存储保存客户请求体的临时文件。如果默认路径无法满足实际需要,你希望将客户的请求体放置在更高速率或者更大容量的磁盘,可以修改此配置。

    默认值:/usr/local/oredge-node/client_body_temp/

  2. 读取客户端请求体超时时间

    该配置项定义了读取客户端请求体的超时。超时只针对两个连续的读取操作之间的时间段,而不是针对整个请求体的传输时间。如果客户端在这段时间内没有传输任何东西,请求将以 408(请求超时)错误终止。

    一般情况下,默认 60 秒的超时时间是足够的。如果您希望缩短超时时间来抵御攻击,可以修改此配置项。如果在一些情况下需要使用更长的超时时间,也可以扩大该超时时间。

    默认值:60 秒

  3. 读取客户端请求头超时时间

    定义了读取客户端请求头的超时。如果客户端没有在这个时间内传输整个头,请求将以 408(请求超时)错误终止。

    默认值:60 秒

  4. 最大请求体大小

    设置客户端请求体的最大允许值。如果请求中的大小超过了配置的值,413(请求体过大)的错误会返回给客户端。请注意,浏览器不能正确显示这个错误。将大小设置为 0 将禁止检查客户端请求体的大小。

    默认值:3 MByte

  5. 请求头缓存大小

    设置用于读取客户端请求头的缓冲区大小。对于大多数请求,1K 字节的缓冲区就足够了。然而,如果一个请求包括长的 cookies, 或者来自 WAP 客户端,它可能不适合在 1K 字节内。

    默认值:1 KByte

  6. 最大请求体缓冲大小

    设置用于读取客户端请求正文的缓冲区大小。如果请求正文大于缓冲区,整个正文或其部分将被写入一个临时文件中。默认情况下,缓冲区的大小等于两个内存页。

    默认值:8 KByte

  7. Keep-alive 超时时间

    限制了通过一个保持连接处理请求的最大时间。在达到这个时间后,连接会在后续的请求处理后关闭。

    默认值:75 秒

  8. 发送超时时间

    设置向客户端传输响应的超时。该超时只在两个连续的写操作之间设置,而不是为整个响应的传输设置。如果客户端在这个时间内没有收到任何东西,连接就会关闭。

    默认值:60 秒

  9. 真实来源 IP 信任地址

    TCP 连接的客户端 IP 在此信任地址列表中时,才使用真实 IP 头修改来源 IP。

    默认值:-

  10. X-Forwarded-For

    将客户端地址和可选端口更改为在指定的 HTTP 头字段中内容。

    默认值:X-Forwarded-For

  11. 递归搜索 IP

    当真实 IP 头字段存在多个 IP 地址的时候,则从后往前查找第一个非信任地址作为客户的真实的客户端 IP。

    默认值:False

日志

Log 类,在这里可以对 error logaccess log 的输出进行自定义控制。

错误日志

  • Avoid generating error logs:默认是 DISABLE 状态,当启动时代表不输出任何 错误日志。
  • Logs Path:错误日志的输出路径。
  • Error log level:错误日志输出级别。
  • Maximum number of log files to keep:最多保持日志数目, error logaccess log 将会每小时轮转,只保持最后更新的日志文件以节约磁盘空间。

访问日志

为了提高访问日志的写入速度,这里默认开启了缓冲区,适当调整缓冲区大小,可以在性能与资源损耗之间找到比较合适的中间值。 如果不想启用缓冲区,可以直接把缓冲区大小设置为 0

Gzip

Gzip 类,可以设置默认 Gzip 选项,比如开关、压缩级别等。对于 Gzip 功能开关,还可以在应用中根据不同条件指定 Gzip 状态。

Others

Others 类,可以设置操作日志和应用发布历史的清理策略。

2. 同步选项

通用页面上方展示的是 同步选项,默认展示 default 分区,选项 Automatic Synchronization 表示当前分区的所有配置会自动覆盖其他所有分区的配置。

当选中 Automatic Synchronization 时,只有 default 分区允许被修改。

取消选中 Automatic Synchronization 后,每个分区的修改就不会自动同步到其他分区,此时如果想要把当前分区的配置同步到其他指定分区,点击右上角的选项Copy to other Partitions

然后选择要同步的分区,点击 copy,当前分区的配置就会覆盖指定分区的配置。