本文由AI翻译

多租户服务器

配置多租户服务器

  1. 安装开发者版服务器

    启用多租户模式需要有效的多租户许可证。

    请联系您的销售助理以申请此许可证。

    请按照提供的说明注册产品。

  2. 打开local.json配置文件,并将baseDir字段设置为包含租户设置的文件夹路径。我们建议使用/var/www/onlyoffice/Data/tenants值。
  3. local.json中,将baseDomain字段设置为将作为所有租户基础域的二级域名。
  4. 主许可证的统计信息在默认租户中收集。
    • 默认租户的名称在defaultTenant中的defaultTenant字段中指定。

      您不能创建具有此名称的其他租户。

    • 未指定租户的baseDomain请求将自动路由到默认租户。
    • 默认租户不需要额外配置。但是,对此租户的请求使用在local.json文件中定义的密钥进行签名。
    • 在默认租户的info页面上查看统计信息。

添加新租户

  1. 要添加新租户:
    • 在服务器的baseDir目录中创建一个新文件夹。
    • 租户的名称将使用文件夹名称和baseDomain组成(例如,如果文件夹名为tenant1,而baseDomainexample.com,则租户名为tenant1.example.com)。

      确保此文件夹是在default.json所在的文件系统下创建的。

    在每个租户文件夹中,包含以下两个必需文件:

    default.json

    "tenants": {
                        "baseDir": "/var/www/onlyoffice/Data/tenants",
                        "baseDomain": "mydomain.example",
                        "filenameConfig": "config.json",
                        "filenameSecret": "secret.key",
                        "filenameLicense": "license.lic",
                        "defaultTenant": "localhost",
                        "cache": {
                                "stdTTL": 300,
                                "checkperiod": 60,
                                "useClones": false
                    }

    为每个租户实现secret.key文件以确保隔离和安全性。如果不存在,将使用主租户的密钥。如果指定了JWT密钥,以config.json中的为准。

    文件系统:

    root@3694c287928a:/var/www/onlyoffice/Data/tenants# 1s -a
                    . .. tenant1 tenant2
                    root@3694c287928a:/var/www/onlyoffice/Data/tenants#
  2. root@3694c287928a:~# 1s /var/www/onlyoffice/Data/tenants/tenant1
                    config.json license.lic
                    root@3694c287928a:~#
    • license.lic – 租户许可证的必需文件
    • config.json – 是覆盖主服务器配置的必需配置文件

    填写jwt密钥是必须的

  3. license.lic文件覆盖租户的主许可证的特定字段。其规则如下:
    • 签名:许可证签名不是必需的。
    • 字段继承:您可以包括主许可证中的某些或所有字段。未指定的字段将默认为主许可证中的值,并将相应验证。
    • 限制调整:您不能增加与主许可证相比的值,但可以减少它们。适用字段包括:connectionsconnections_viewusers_countusers_expireusers_view_countend_datetimelimitedadvanced_apibrandingcustomization

      例如:您可以移除brandingcustomization或设置试用模式。

      增加值是无效的,因为每次都会重新检查主许可证。

    • 缓存:一旦读取,许可证值将缓存5分钟。

    例如,license.lic可能包含以下内容:

    {"branding":false,"connections":100,"users_count":0}
  4. config.json文件允许您覆盖某些服务器设置。其规则如下:
    • 不可覆盖的设置:服务器启动期间使用的设置(如外部服务地址、日志路径、许可证和文件缓存)不能被覆盖。
    • 可覆盖的设置:您可以覆盖影响运行时操作的设置,包括WOPI配置、IP过滤、JWT密钥、匿名访问禁用和文件大小限制。
    • 缓存:一旦读取,配置值将缓存5分钟。

    例如,config.json文件可能包含以下内容:

    {
     "wopi": {
      "enable": true
     },
     "services": {
      "CoAuthoring": {
       "secret": {
        "inbox": {"string": "secret", "file": ""},
        "outbox": {"string": "secret", "file": ""},
        "session": {"string": "secret", "file": ""}
       },
       "token": {
        "enable": {
         "browser": true,
         "request": {
          "inbox": true,
          "outbox": true
         }
        }
       }
      }
     }
    }

在您自己的服务器上托管 ONLYOFFICE 文档,或在云端使用

文章: 标签:
浏览所有标签