Jelastic - 在没有 ssl 的情况下使用 Next Cloud 进行在线协作(用于测试)
Jelastic - Collabora Online with Next Cloud without ssl (for testing)
出于测试目的,我想在 Jelastic 环境中在线安装 Collabora。
我正在尝试遵循以下基本步骤:https://www.collaboraoffice.com/code/quick-tryout-nextcloud-docker/
首先,我使用 link 中给出的 docker 图像配置拓扑。
next cloud在我进入给定的URL后安装成功。
然后我按照说明添加变量extra_params=--o:ssl.enable=false
:
然后我尝试通过添加端点来映射端口:
它将端口 9980 映射到 public 端口 11010。
最后,我在 nextCloud 上安装了 collabora 应用程序,并在专用的 Collabora 设置页面上配置了 Collabora 服务器 url:
jelastic-node-ndd.com:11010
我在尝试打开 Open office 文档时收到此消息:
Failed to load Collabora Online - please try again later
不知道怎么调查。当我尝试使用给定端口访问我兄弟上的 Collabora 服务器时,出现连接失败错误。
我们认为问题的主要原因是端口映射在您的情况下不起作用。
换句话说,telnet $(hostname) 11010
在容器内表示 "connection refused",因为映射只能从 Internet 正确工作。
这可以通过添加外部 IP 轻松解决。因此,在 "Collabora online" 的设置中,您必须指定 URL http://EXT.IP:9980
并删除映射。
另一种方法是映射技巧。在这种情况下,您可以只保留内部 IP 并像您一样进行映射。
然后,编辑映射并指定 Private Port 等于 Public Port
进一步,在容器内添加NAT规则,如:
iptables -t nat -A DOCKER ! -i docker0 -p tcp -m tcp --dport 11010 -j DNAT --to-destination 172.21.0.2:9980
其中,11010
- 是您的映射端口。 172.21.0.2
- 您在执行 iptables -L DOCKER -vnt nat
时获得的 IP
因此,DOCKER 链应该如下所示:
root@node210795-nextcloud-test:~# iptables -L DOCKER -vnt nat
Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
19 1140 RETURN all -- docker0 * 0.0.0.0/0 0.0.0.0/0
106 6360 DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9980 to:172.21.0.2:9980
55 3300 DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11031 to:172.21.0.2:9980
因此,您的 Collabora online URL 可以保留为 jelastic-node-ndd.com:11010
除此之外,您还可能遇到描述的问题here
我们可以使用文章 Setting up and configuring collabora/code Docker image 解决这个问题(直接使用配置文件)。在将 loolwsd.xml 返回到 docker 之前(第 3 步),您可能需要更改此文件:
chmod 666 loolwsd.xml
注意:
最好在 Quick tryout with Nextcloud docker
的第 5 步中指定附加参数 --restart always
变量 DOCKER_EXPOSE_PORT
应保持不变 (80)
extra_params=--o:ssl.enable=false
是collabora/code的变量,所以在Variables
中不需要指定
出于测试目的,我想在 Jelastic 环境中在线安装 Collabora。
我正在尝试遵循以下基本步骤:https://www.collaboraoffice.com/code/quick-tryout-nextcloud-docker/
首先,我使用 link 中给出的 docker 图像配置拓扑。
next cloud在我进入给定的URL后安装成功。
然后我按照说明添加变量extra_params=--o:ssl.enable=false
:
然后我尝试通过添加端点来映射端口:
它将端口 9980 映射到 public 端口 11010。
最后,我在 nextCloud 上安装了 collabora 应用程序,并在专用的 Collabora 设置页面上配置了 Collabora 服务器 url:
jelastic-node-ndd.com:11010
我在尝试打开 Open office 文档时收到此消息:
Failed to load Collabora Online - please try again later
不知道怎么调查。当我尝试使用给定端口访问我兄弟上的 Collabora 服务器时,出现连接失败错误。
我们认为问题的主要原因是端口映射在您的情况下不起作用。
换句话说,telnet $(hostname) 11010
在容器内表示 "connection refused",因为映射只能从 Internet 正确工作。
这可以通过添加外部 IP 轻松解决。因此,在 "Collabora online" 的设置中,您必须指定 URL http://EXT.IP:9980
并删除映射。
另一种方法是映射技巧。在这种情况下,您可以只保留内部 IP 并像您一样进行映射。 然后,编辑映射并指定 Private Port 等于 Public Port
进一步,在容器内添加NAT规则,如:
iptables -t nat -A DOCKER ! -i docker0 -p tcp -m tcp --dport 11010 -j DNAT --to-destination 172.21.0.2:9980
其中,11010
- 是您的映射端口。 172.21.0.2
- 您在执行 iptables -L DOCKER -vnt nat
因此,DOCKER 链应该如下所示:
root@node210795-nextcloud-test:~# iptables -L DOCKER -vnt nat
Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
19 1140 RETURN all -- docker0 * 0.0.0.0/0 0.0.0.0/0
106 6360 DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9980 to:172.21.0.2:9980
55 3300 DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11031 to:172.21.0.2:9980
因此,您的 Collabora online URL 可以保留为 jelastic-node-ndd.com:11010
除此之外,您还可能遇到描述的问题here
我们可以使用文章 Setting up and configuring collabora/code Docker image 解决这个问题(直接使用配置文件)。在将 loolwsd.xml 返回到 docker 之前(第 3 步),您可能需要更改此文件:
chmod 666 loolwsd.xml
注意: 最好在 Quick tryout with Nextcloud docker
的第 5 步中指定附加参数--restart always
变量 DOCKER_EXPOSE_PORT
应保持不变 (80)
extra_params=--o:ssl.enable=false
是collabora/code的变量,所以在Variables