Jelastic - Collabora Online с Next Cloud без ssl (для тестирования) - PullRequest
1 голос
/ 07 мая 2019

В целях тестирования я хочу установить Collabora онлайн в среде Jelastic.

Я пытаюсь выполнить следующие основные шаги: https://www.collaboraoffice.com/code/quick-tryout-nextcloud-docker/

Сначала я настраиваю топологию с помощью образа докера, указанного в ссылке.

enter image description here

Следующее облако успешно установлено после того, как я перешел по указанному URL.

Затем я добавляю переменную extra_params=--o:ssl.enable=false, как сказанов инструкциях:

enter image description here

Затем я пытаюсь сопоставить порт, добавив конечную точку: enter image description here

Он сопоставляет порт 9980 с общедоступным портом 11010.

Итак, наконец, я устанавливаю приложение для совместной работы на nextCloud и настраиваю URL-адрес сервера Collabora на специальной странице настроек Collabora:

jelastic-node-ndd.com:11010

И я получил это сообщение при попытке открыть документ Open office:

Failed to load Collabora Online - please try again later

Я не знаю, как расследовать.Когда я пытаюсь получить доступ к серверу Collabora на моем брате с указанным портом, я получаю сообщение об ошибке подключения не удается.

1 Ответ

1 голос
/ 14 мая 2019

Мы считаем, что главная причина проблемы в том, что в вашем случае не работает сопоставление портов.Другими словами, telnet $(hostname) 11010 говорит «отказано в соединении» внутри контейнера, поскольку отображение работает корректно только из Интернета.

Эту проблему можно легко устранить, добавив Внешний IP.Итак, в настройках «Collabora online» необходимо указать URL http://EXT.IP:9980 и удалить сопоставление.

Еще один способ - это хитрость сопоставления.В этом случае вы можете оставить только внутренний IP и сделать сопоставление, как сделали.Затем отредактируйте отображение и укажите Частный порт , равный Общий порт

Далее, внутри контейнера добавьте правило 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 - IP-адрес, который вы получаете при выполнении 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

В результате, сетевой URL-адрес Collabora в вашем случае можно оставить какjelastic-node-ndd.com:11010

Кроме того, вы можете столкнуться с проблемой, описанной здесь

Мы смогли решить эту проблему, используя статью Настройка и настройка совместной работы /Код Docker image (используйте файл конфигурации напрямую).Перед тем, как скопировать loolwsd.xml обратно в Docker (шаг 3), вам может потребоваться изменить этот файл:

chmod 666 loolwsd.xml

Примечание. В шаге 5 из лучше указать дополнительный параметр --restart always.Доклер Nextcloud

Переменная DOCKER_EXPOSE_PORT должна быть оставлена ​​без изменений (80)

extra_params=--o:ssl.enable=false - это переменная типа сотрудник / код, поэтому нет необходимости указывать ее в Переменные

...