跳到主要内容

为 ONLYOFFICE 文档配置 IP 过滤器

您可以为 ONLYOFFICE 文档配置 IP 过滤器。

IP 过滤器设置存储在 ONLYOFFICE 文档的配置文件中:/etc/onlyoffice/documentserver/default.json。它们的格式如下:

"ipfilter": {
"rules": [
{
"address": "ip_address",
"allowed": true
},
{
"address": "*",
"allowed": false
}
],
"useforrequest": false,
"errorcode": 403
}
备注

如果您更改了 default.json 文件中的参数,在 ONLYOFFICE 文档更新或 Docker 容器重启后,所有更改将会丢失。为了确保更新后您的更改仍然有效,请编辑 /etc/onlyoffice/documentserver/local.json 文件,并保持结构不变。

规则由两部分组成:主机名和 allowed 规则本身,其值为 true 或 false。默认情况下,存在一个规则:address * allowed true。

地址可以通过以下方式指定:

  • ipv4 格式的 IP 地址:X.X.X.X。
  • ipv6 格式的 IP 地址:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx。
  • DNS 名称。

也可以使用通配符 *。它可以替代任意字符任意次数。

链接中的主机名首先作为 DNS 地址进行检查,如果不匹配任何规则,则通过名称查找 IP 地址并再次进行检查。

重要

如果启用了 "useforrequest": true 检查,address 参数必须指定为 IP 地址,而不是 DNS 名称。

"useforrequest": true/false​

默认情况下,useforrequest 参数设置为 false。在这种情况下,作为参数传递给 ONLYOFFICE 文档的文本 URL 会被检查:

如果 useforrequest 参数设置为 true(不推荐),则会额外检查以下 HTTP 请求中的客户端 IP 地址:

  • coauthoring/CommandService.ashx
  • ConvertService.ashx
  • converter
  • FileUploader.ashx
  • healthcheck
  • docbuilder
  • info/info.json
  • internal/cluster/inactive
  • hosting/discovery
  • hosting/capabilities
  • lool/convert-to/:format?
  • dummyCallback

对于这些请求,将返回在 errorcode 参数中指定的错误代码。

重要

仅检查 ONLYOFFICE 文档可见的存储的 IP 地址(考虑到 x-forwarded 头)。

例如,如果 ONLYOFFICE 文档和测试示例安装在同一台机器上,客户端 IP 地址将是内部网络的地址。ONLYOFFICE 文档无法识别客户端的主机,因此在 address 字段中无法使用 DNS 名称。建议保留此设置的默认值,并在代理级别执行检查。