首页 > 解决方案 > Docker 容器,Jelastic 中的本地网络

问题描述

我想在一些 Jelastic 环境中使用 NextCloud 安装 collabora Online。

设置 NextCloud 简直是小菜一碟,我只拍了正确的 docker 镜像,访问公共给定的 url,瞧。

现在我无法让 Collabora Online 服务器工作。

在常规的专用服务器中,我运行

docker run -t -d -p 9980:9980 -e "extra_params=--o:ssl.enable=false" 协作/代码

我可以通过http://ip-add:9980访问 Collabora Server

我向 Collabora docker 镜像的节点添加了一个公共 IP。

如果我运行:curl -k http://public-ip-add:9980

我有curl: (7) couldn't connect to host

http://ip-add:9980

另一种(更正确的方法)是运行这个 docker 命令

docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=cloud\\.communecter\\.org\|cloud\\.openappecosystem\\.cc\|cloud\\.cosystem\\.cc' --restart always --cap-add MKNOD collabora/code

并在 nginx 上配置反向代理,如下所示:

# static files
location ^~ /loleaflet {
    proxy_pass https://localhost:9980;
    proxy_set_header Host $http_host;
}

# WOPI discovery URL
location ^~ /hosting/discovery {
    proxy_pass https://localhost:9980;
    proxy_set_header Host $http_host;
}

# Capabilities
location ^~ /hosting/capabilities {
    proxy_pass https://localhost:9980;
    proxy_set_header Host $http_host;
}

# main websocket
location ~ ^/lool/(.*)/ws$ {
    proxy_pass https://localhost:9980;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header Host $http_host;
    proxy_read_timeout 36000s;
}

# download, presentation and image upload
location ~ ^/lool {
    proxy_pass https://localhost:9980;
    proxy_set_header Host $http_host;
}

# Admin Console websocket
location ^~ /lool/adminws {
    proxy_pass https://localhost:9980;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header Host $http_host;
    proxy_read_timeout 36000s;
}

但是这里的 nginx 不应该是一个 docker 映像,所以我不知道如何正确地将 Collabora 节点链接到 nginx 节点。我尝试使用“链接”和“端点”,但没有成功。

标签: jelasticnextcloud

解决方案


默认情况下,仅公开端口 80 和 443,但是,您似乎可以为私有端口 9980 手动添加端点,这是您的应用程序绑定的端口。希望有帮助。


推荐阅读