跳到主要内容

将 ONLYOFFICE Workspace 社区版切换到 HTTPS 协议

介绍​

在大多数情况下,通过 HTTPS 协议访问门户比默认使用的 HTTP 更加安全。但要更改门户访问方法,需要执行某些操作。

在您开始将 ONLYOFFICE Workspace 社区版切换到 HTTPS 协议之前,您需要创建一个 .pem 格式的安全证书。

备注

请确保证书包含私钥。您可以通过任何文本编辑器打开证书来检查私钥是否存在。

一旦您拥有证书,请按照以下步骤了解如何将 ONLYOFFICE Workspace 社区版切换到 HTTPS 协议。

使用提供的脚本将 ONLYOFFICE Workspace 社区版切换到 HTTPS​

将 ONLYOFFICE Workspace 社区版切换到 HTTPS 的更快方法是使用提供的脚本。请参阅本文了解如何操作。

手动将 ONLYOFFICE 社区服务器 8.5 及更高版本切换到 HTTPS​

您可以手动执行所有脚本操作。为此,请按照以下步骤操作。

版本 8.5 使用 IIS 7,它有其自身的特性。您需要使用内置的 IIS 工具将安全证书绑定到 ONLYOFFICE 社区服务器。

如果您有一个安全证书(无论是自签名还是第三方颁发),您可以将其绑定到 ONLYOFFICE 社区服务器:

  1. 进入 Internet 信息服务 (IIS) 管理器。
  2. 选择您需要绑定证书的网站(ONLYOFFICE 门户)。
  3. 使用右侧菜单的 绑定... 选项打开站点绑定对话窗口。
  4. 在打开的窗口中点击 添加... 按钮。
  5. 将类型更改为 https,并从 SSL 证书下拉菜单中选择先前创建的证书。
  6. 点击确定,然后关闭站点绑定窗口。

之后,您的证书将绑定到 ONLYOFFICE 社区服务器。如果您对 IIS 7 中的证书有更多问题,请参阅相应的 Microsoft 知识库文章。

备注

如果您没有证书,可以通过 Internet 信息服务 (IIS) 管理器创建:

  1. 进入 Internet 信息服务 (IIS) 管理器。
  2. 转到服务器名称,选择它。
  3. 双击 IIS 部分的服务证书选项。
  4. 使用右侧菜单的创建自签名证书选项打开相应的对话窗口。
  5. 输入所需的证书名称并点击确定。

现在您有一个有效期为一年的自签名证书。

现在您需要为服务器启用重写规则,以便它处理 HTTPS 请求而不是仅处理 HTTP 请求。为此:

  1. 进入 Internet 信息服务 (IIS) 管理器。
  2. 选择您需要启用 HTTPS 的网站。
  3. 使用右侧菜单的 URL 重写选项打开 URL 重写窗口。
  4. 找到以下规则:HTTP 到 HTTPS 和 当 HTTPS 时添加严格传输安全,并在右侧面板为每个规则选择启用规则。

接下来的步骤不是强制性的,但如果您想保护您的 ONLYOFFICE 社区服务器安装,我们强烈建议您这样做。访问 IIS Crypto 网页。这是一个免费的工具,允许管理员在 Windows Server 2008、2012 和 2016 上启用或禁用协议、密码、哈希和密钥交换算法。它还允许您重新排序 IIS 提供的 SSL/TLS 密码套件,通过单击实现最佳实践,创建自定义模板并测试您的网站。下载并运行它,选择最佳实践,然后点击应用。之后重启您的服务器。

现在您可以通过以下方式检查是否一切正确完成:

  • 使用 https:// 前缀打开您的门户。如果它能打开并正常工作,那么您做的一切都正确。
  • 如果您的 ONLYOFFICE 社区服务器可以通过互联网访问,您可以使用 SSL 服务器测试网站测试其安全性。在主机名字段中输入您的域名并点击提交。等待结果。您的安全评级不应低于 A。

将 ONLYOFFICE 社区服务器 7.7.1 及更高版本(8.5 之前)切换到 HTTPS​

  1. 在 c:\Program Files\Ascensio System SIA\ONLYOFFICE\Router\ 目录中创建 ssl_cert 文件夹。

  2. 将 .pem 格式的证书复制到这个新创建的目录中。

  3. 重启 ONLYOFFICE 路由器服务。

    备注

    端口 443 必须打开以确保门户正常运行。

  4. 找到并打开 WebStudio 文件夹中的 Web.config 文件(您需要管理员访问权限才能保存更改),并在其中找到以下部分:

    <rewrite>
    <rules>
    ...
    </rules>
    </rewrite>

    将此部分中的所有内容(上面标记为 "...")替换为以下规则:

    <rule name="HTTP to HTTPS" stopProcessing="true">
    <match url=".*" />
    <conditions>
    <add input="{HTTPS}" pattern="off" />
    <add input="{REQUEST_URI}" pattern="^/api/2.0/" negate="true" />
    <add input="{REQUEST_URI}" pattern="products/files/services/wcfservice/service.svc.*" negate="true" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:0}" appendQueryString="true" redirectType="Temporary" />
    </rule>
    <rule name="WCF files HTTPS to HTTP" stopProcessing="true">
    <match url="products/files/services/wcfservice/service.svc.*" />
    <conditions>
    <add input="{HTTPS}" pattern="on" />
    </conditions>
    <action type="Rewrite" url="http://{HTTP_HOST}/{R:0}" appendQueryString="true" />
    </rule>

将旧版本的 ONLYOFFICE 社区服务器切换到 HTTPS(7.7.1 之前)​

将旧版本的 ONLYOFFICE 社区服务器切换到 HTTPS 需要以下步骤以确保正常工作:

  1. 将包含私钥的 .pem 格式证书放入安装有 ONLYOFFICE 社区服务器的计算机上的某个文件夹中。

  2. 转到 c:\Program Files\Ascensio System SIA\ONLYOFFICE\Router\ 文件夹,并用某个文本编辑器打开 config.js 文件。您需要使用管理员访问权限才能保存更改。

  3. 找到以下行:

    config.sslCertPath = '../Cert/https-cert.pem';

    将 ../Cert/https-cert.pem 替换为您放置证书的路径。

    备注

    请注意,您需要写入证书文件的绝对路径(例如 C:/Cert/mycertificate.pem),并且路径中必须使用正斜杠(不是反斜杠!),就像示例中所示。

  4. 重启 ONLYOFFICE 路由器服务。

    备注

    必须打开相应的端口,并且 node.js 必须添加到防火墙例外或允许规则中。

您可能还需要将 sslCertPath 更改为 sslCert,在 config.sslCertPath 参数行中。