Nextcloud 集成 onlyoffice 配置 apache 反向 SSL 反向代理填坑

这篇具有很好参考价值的文章主要介绍了Nextcloud 集成 onlyoffice 配置 apache 反向 SSL 反向代理填坑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关键词:

onlyoffice

nextcloud

Apache 

反向代理

nginx

Error while downloading the document file to be converted

1. 场景:

一台服务器设备安装了很多 docker 服务,包括 nextcloud 和 onlyoffice 和 apache。nextcloud、onlyoffice 服务默认使用 10001 和 10002 端口映射到两个服务的 80 端口。直接访问是通过 80 端口访问的,没有 SSL 加密。

 现在用 apache 监听服务器 IP 的 443 端口,让所有 docker 服务通过 apache 的反向代理进行访问。这样方便我一个证书对所有的服务进行加密。

2. 问题:

问题1:

nextcloud 在配置 onlyoffice 服务器地址的时候,一直报错 “Error while downloading the document file to be converted” ,并且在onlyoffice的后台日志看到报错: 

[2023-07-16T09:35:07.716] [ERROR] nodeJS - error downloadFile:url=http://127.0.0.1:10001/apps/onlyoffice/empty?doc=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhY3Rpb24iOiJlbXB0eSJ9.DLpf7UCdEv7YgQUp3bnn5Q4nCQuHbYj2w28RUqA06hk;attempt=3;code:ECONNREFUSED;connect:null;(id=conv_check_698669687_docx)

网上给出的方法是在 onlyoffice 的 config.php 里面加一句 

'allow_local_remote_servers' => true,

但是我实际测试发现还是会有出现问题。后面我解决的方法是在 Apache 的反向代理里面将 127.0.0.1:10001 改成了我服务器的 IP 192.168.5.66:10001 解决了问题。这个问题的原因是 nextcloud 在 18 版本及以后不允许直接通过 localhost 或 127.0.0.1 进行文档访问。

ProxyPass / http://192.168.5.66:10001/
ProxyPassReverse / http://192.168.5.66:10001/
问题2:

onlyoffice 配置了反向代理之后,一直出现我输入地址 https:/onlyoffice地址 访问 onlyoffice ,但是实际会跳转到 http://onlyoffice地址。 导致 onlyoffice 服务无法正常使用。

解决方法:

我是使用 docker 安装的 onlyoffice,这个 docker 镜像里面有一个 nginx 服务对地址进行了 rewrite。将 https 重写成了 http(因为反向代理的目的地址是 http://127.0.0.1:10002)所以我就强制将地址改成了 https ,具体修改如下:

文件:/etc/nginx/includes/http-common.conf

原代码为:

map $http_x_forwarded_proto $the_scheme {
     default $http_x_forwarded_proto;
     "" $scheme;
}

对 $the_scheme map 修改后的代码:

map $http_x_forwarded_proto $the_scheme {
     default https;
     "" https;
}

我这样就强制将头改成了 https 。这样做会导致普通的 http 地址访问会被重写成 https。有了具体原因,可以根据实际情况决定是否强制改动,或者加一些逻辑判断语句。我这里因为肯定用 https 地址访问,所以就写死为 https 了。

这两个都解决之后,我所有的问题都解决了。希望我的分享对你有帮助。

补充:正确的解决方法

备注:正确的解决方法不需要改动 nextcloud docker 容器内的任何文件。在 Apache 中配置 X-Forwarded-Proto 为 "https" 。

具体操作为在 Apache 的反向代理配置文档中加入下面这句话:文章来源地址https://www.toymoban.com/news/detail-809983.html

RequestHeader set X-Forwarded-Proto "https"

到了这里,关于Nextcloud 集成 onlyoffice 配置 apache 反向 SSL 反向代理填坑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • nextcloud设置https nextcloud docker配置阿里云SSL证书实现HTTPS访问 亲测方案

    1、下载阿里云ssl证书,类型为:apache,得到三个文件两个crt,一个key。 2、把文件夹更名为cert,文件名改为chain.crt,pubilc.crt,web.key。 3、把文件夹复制进nextcloud容器/etc/apache2文件夹中 4、进入容器 执行 5、修改ssl.load配置文件 如果有下面这一句就不用修改了,没有就添加上 6、

    2024年02月13日
    浏览(45)
  • Apache的反向代理有以下几种方式

    Apache的反向代理的几种方式 : mod_proxy:这是Apache的一个标准模块,它提供了反向代理的功能。您可以使用ProxyPass和ProxyPassReverse指令来配置反向代理。 mod_jk:这是一个连接Apache和Tomcat的模块,它提供了反向代理的功能。您可以使用JkMount指令来配置反向代理。 mod_proxy_balancer:

    2024年02月05日
    浏览(42)
  • nextcloud+onlyoffice环境搭建(在线 or 离线)

    1.安装 MySQL(有MySQL就可以不装) -e MYSQL_ROOT_PASSWORD= root   参数是设置MySQL数据密码,根据自己情况修改密码,当前设置密码为 root 2.安装onlyoffice服务  3.安装nextcloud 4.获取onlyoffice秘钥(用于后面nextcloud的onlyoffice插件配置)  进入onlyoffice容器内  查看秘钥 如下图红框内容即为

    2024年02月07日
    浏览(44)
  • Nginx搭建Https反向代理,使用阿里云免费SSL证书 - Docker

    没有docker需提前安装docker,不知怎么安装的请自行百度。 1、拉取镜像 2、去阿里云或者其他云服务提供商申请免费证书,申请到之后下载下来,上传到服务器 把证书上传到ssl目录下面,下面是ssl的目录结构 /root/nginx/ssl 和上传的证书有两个文件一个 .key 一个 .pem 进入nginx-pr

    2024年02月09日
    浏览(95)
  • docker部署nextcloud+onlyoffice详细教程【外置MySQL】

    系统版本:CentOS Linux release 7.9.2009 (Core) 配置:16C 16G MySQL:5.7.20 请百度 因为我使用外置MySQL,所以需要先创建数据库和授权 create database nextcloud; grant all on nextcloud.* to nextcloud@\\\'%\\\' identified by \\\'123456\\\'; 注意:因为用的是docker安装,所以授权最好授权%。 使用浏览器打开nextcloud,htt

    2024年02月08日
    浏览(44)
  • 使用docker进行nextcloud+onlyoffice环境搭建(在线 or 离线)

    1.安装 MySQL(有MySQL就可以不装) -e MYSQL_ROOT_PASSWORD= root   参数是设置MySQL数据密码,根据自己情况修改密码,当前设置密码为 root 2.安装onlyoffice服务  3.安装nextcloud 4.获取onlyoffice秘钥(用于后面nextcloud的onlyoffice插件配置)  进入onlyoffice容器内  查看秘钥 如下图红框内容即为

    2024年01月18日
    浏览(86)
  • java使用smiley-http-proxy-servlet实现反向代理,跳过SSL认证

            nginx可以实现反向代理,但是有时候需要使用java代码来实现,经过摸索,发现有开源的项目可以实现,所以简单记录一下如何使用         没啥好说         该项目的核心类是ProxyServlet,主要操作都在这个类中实现了,我们可以继承该类,重写其中的方法,自定义

    2024年02月09日
    浏览(43)
  • 关于Nextcloud连接Onlyoffice成功后提示“ONLYOFFICE服务器无法连接,请联系管理员。“错误的处理方法

    好不容易才把onlyoffice连接成功,你竟然还给我来这个错误,实在是不应该呀,都最后一公里了,可不能放弃,必须得把它给解决。 现在不妨从开始说起: 在Docker容器内部 ,宿主机相当于一个网关,宿主机根据不同的端口给每个容器分配一个独立的IP地址。这时所有Docker上所

    2023年04月09日
    浏览(75)
  • 添加https后反向代理gateway报错io.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record

    域名及https绑定在openshift的router上,用route的Edge模式,证书终止在router(证书卸载),转发向后端请求是http的。后端接入nginx做反向代理,所有项目的流量都通过这个nginx。再向后转发是两个nginx,作为本项目的流量入口,有反代和静态文件解析功能。再向后就是服务gateway。

    2024年02月11日
    浏览(49)
  • Vue 3中的反向代理 和如何在服务器配置反向代理

    如何在Vue 3项目中配置反向代理,让前端开发变得爽到爆!还有个小插曲,Vite为我们提供了更简单的方式,就像找对象一样直接。 首先,我们来谈谈反向代理是什么。简单来说,反向代理就像是前端和后端之间的婚姻介绍所。前端需要向后端请求数据,但由于某些原因(比如

    2024年04月13日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包