
保护与 Nextcloud 和 ONLYOFFICE 的连接
我们将被迫执行的最基本任务之一, 将保护对 Nextcloud 和 ONLYOFFICE 的访问, 特别是如果我们计划通过 Internet 工作. 所以, 在本文档中,我们将了解如何将未加密的 HTTP 流量替换为安全的 HTTPS 流量, 我们最初会看到 Nextcloud 的配置,最后在 ONLYOFFICE 上看到.
启用对 Nextcloud 的安全访问,
如果我们希望用户安全地访问 Nextcloud, 我们必须在 Nextcloud 的 Apache 服务器上安装证书. 我想我们已经为这项服务考虑了一些 FQDN, 因此,证书必须对该域名有效, 或使用通配符证书,就是这样! 在我的场景中,我将使用名称 data.openservices.eus 来引用 Nextcloud 服务器,显然,我将在公共和私有区域中创建相应的 DNS 条目.
准备工作, 我们需要什么? 证书! 我们必须以正确的格式呈现它们, 我们必须有证书, 您的私有密钥和 CA 证书链. 我们让一切变得简单, 假设我有一个在另一台服务器上生成的 PFX 文件 (例如 Windows 上的 IIS), 我们将它与 SCP 一起复制到服务器, 除此之外,我们还必须搜索或制作包含发行实体证书链的文件, 我们的证书提供商通常会在当时😉将其发送给我们
从 PFX 文件分离并一方面获取公共证书,另一方面获取私钥, 我们可以通过这个例子来做到这一点:
[源代码]openSSL PKCS12 -in Wildcard_Open_Services.pfx -clcerts -nokeys -out wildcard_open_services.cer
openSSL PKCS12 -in Wildcard_Open_Services.pfx -nocerts -nodes -out wildcard_open_services.key[/源代码]
我们首先启用 SSL 模块并编辑 Nextcloud 站点配置文件.
[源代码]sudo a2enmod SSL[/源代码]
我们将刚刚生成的证书复制到 Apache 证书目录以及包含整个中间 CA 链的文件:
[源代码]sudo cp wildcard_open_services.* /etc/apache2/ssl
sudo mv openservices_eus.ca-bundle /etc/apache2/ssl/cadena.crt[/源代码]
我们编辑 Apache 安全站点配置的 /etc/apache2/sites-enabled/default-ssl.conf 文件,并修改引用证书的条目, 到私钥和证书链:
[源代码]SSLCertificateFile /etc/apache2/ssl/wildcard_open_services.cer
SSLCertificateKeyFile /etc/apache2/ssl/wildcard_open_services.key
SSLCertificateChainFile /etc/apache2/ssl/cadena.crt[/源代码]
录制和重新启动 Apache & 我们验证我们现在将能够通过安全的 HTTPS 访问 Nextcloud 站点:
[源代码]Sudo 服务 Apache2 重启[/源代码]
将 Nextcloud 的默认站点放入 Apache 中,
顺便一提, 如果您想避免用户必须键入 /nextCloud,从而将该站点设为 Apache 中的默认站点, 我们将编辑站点的 /etc/apache2/sites-enabled/000-default.conf 和 /etc/apache2/sites-enabled/default-ssl.conf 配置文件, 修改路由:
[源代码]文档根 /var/www/nextcloud[/源代码]
我们重新启动了 Apache!
[源代码]Sudo 服务 Apache2 重启[/源代码]
启用对 ONLYOFFICE 的安全访问,
如果我们想要保护流量和对 Document Server 的访问, 我们需要在 Nginx 中安装 SSL 证书, 这是我们使用的 Web 服务器,因此使用 HTTPS 加密您的连接, 此外,最后我们将看到如何更改端口,以防我们稍后有兴趣在 Internet 上打开此方案.
和以前一样, ONLYOFFICE 还需要具有 Nginx 特定格式的证书, 我们必须将公共证书保留在 certificate 文件夹中, 私钥和包含所有中间 CA 或根 CA 链的证书.
我们记住了从 PFX 文件分离并获取公共证书和私钥所遵循的步骤:
[源代码]openSSL PKCS12 -in Wildcard_Open_Services.pfx -clcerts -nokeys -out wildcard_open_services.cer
openSSL PKCS12 -in Wildcard_Open_Services.pfx -nocerts -nodes -out wildcard_open_services.key[/源代码]
另外, 如果我们不想在证书的信任方面出现问题, 建议生成包含所有 CA 链的证书文件, 像这样的东西可以帮助我们使用以下命令获取它, 这将创建 1 包含所有证书的文件:
[源代码]cat /etc/ssl/certs/wildcard_open_services.cer openservices_eus.ca-bundle > wildcard_open_services_y_cadena.cer[/源代码]
我们将生成的文件复制到 certificate 目录, 我们停止 Nginx, 并创建用于安全 ONLYOFFICE 访问的配置文件:
[源代码]sudo cp wildcard_open_services.* /etc/ssl/certs/
sudo 服务 nginx 停止
sudo cp -f /etc/onlyoffice/documentserver/nginx/onlyoffice-documentserver-ssl.conf.template /etc/nginx/conf.d/onlyoffice-documentserver.conf[/源代码]
我们编辑配置文件并添加证书的路径及其私钥:
[源代码]sudo vim /etc/nginx/conf.d/onlyoffice-documentserver.conf
ssl_certificate /etc/ssl/certs/wildcard_open_services_y_cadena.cer;
ssl_certificate_key /etc/ssl/certs/wildcard_open_services.key;[/源代码]
顺便一提, 是时候更改端口了, 配置文件, 我们将修改您收听的部分并选择您感兴趣的端口:
[源代码]听 0.0.0.0:4443 SSL认证;
听 [::]:4443 SSL default_server;[/源代码]
再次启动 Nginx 并验证我们是否可以通过新 URL 访问它就足够了, 使用 HTTPS:// 并连接到我们指定的端口:
[源代码]Sudo 服务 nginx start[/源代码]