Проблема с Collabora (Docker) и NextCloud (Snap) за прокси на той же машине - PullRequest
0 голосов
/ 11 декабря 2019

Я решил написать о своей ситуации после многих дней поиска неисправностей. Я недавно установил NextCloud как оснастку на Ubuntu 18.04, и все работало нормально. Я сделал переадресацию портов и использовал Let's Encrypt (из команд привязки) для создания сертификатов для NC.

Затем я решил установить сервер Collabora на той же машине, чтобы использовать офисные функции. Я использовал официальные руководства Collaboration для установки, упомянутой здесь . Однако в этом руководстве предполагается, что NC устанавливается вручную (без привязки). Согласно руководствам, мне пришлось установить Apache (или любой другой прокси / веб-сервер) для прокси-трафика к NC или Collabora.

Я думаю, что есть проблема с моей конфигурацией прокси или что-то не так с сертификатами SSL,Когда работают и Apache, и Snap, я могу перейти на страницу Apache, и Collabora должна работать, но не может перейти на страницу NC.

Я могу перейти по ссылке (порт 443) ниже и перейти на страницу (то естьCollabora отвечает?)

https://collabora.domain.com/loleaflet/dist/admin/admin.html

Но при доступе к домену NC браузер говорит «Не подключено: потенциальная проблема безопасности» и жалуется, что сертификатыне для этого домена NC, я пытаюсь подключиться, но сертификат для домена Collabora. Если я остановлю Apache и позволю Snap работать, я смогу получить доступ к домену NC без проблем (за исключением того, что мне нужно снова установить порты на 443 и 80! Это проблематично?) Мой файл конфигурации прокси-сервера Apache (находится в / etc / apache2/ sites-available /) выглядит следующим образом:

<VirtualHost *:444>

ServerName nextcloud.domain.com:444
ProxyPreserveHost On
ProxyPass        / https://192.168.1.50/
ProxyPassReverse / https://192.168.1.50/

SSLProxyEngine on
SSLCertificateFile /etc/letsencrypt/live/nextcloud.domain.com/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/nextcloud.domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/nextcloud.domain.com/privkey.pem

</VirtualHost>

<VirtualHost *:443>
ServerName collabora.domain.com:443

# SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/collabora.domain.com/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/collabora.domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/collabora.domain.com/privkey.pem
SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-$
SSLHonorCipherOrder     on

# Encoded slashes need to be allowed
AllowEncodedSlashes NoDecode

# Container uses a unique non-signed certificate
SSLProxyEngine On
SSLProxyVerify None
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off

# keep the host
ProxyPreserveHost On

# static html, js, images, etc. served from loolwsd
# loleaflet is the client part of LibreOffice Online
ProxyPass           /loleaflet https://127.0.0.1:9980/loleaflet retry=0
ProxyPassReverse    /loleaflet https://127.0.0.1:9980/loleaflet

# WOPI discovery URL
ProxyPass           /hosting/discovery https://127.0.0.1:9980/hosting/discovery$
ProxyPassReverse    /hosting/discovery https://127.0.0.1:9980/hosting/discovery

# Main websocket
ProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws nocanon

# Admin Console websocket
ProxyPass   /lool/adminws wss://127.0.0.1:9980/lool/adminws

# Download as, Fullscreen presentation and Image upload operations
ProxyPass           /lool https://127.0.0.1:9980/lool
ProxyPassReverse    /lool https://127.0.0.1:9980/lool

# Endpoint with information about availability of various features
ProxyPass           /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities retry=0
ProxyPassReverse    /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities
</VirtualHost>

Если честно, я впервые настраиваю прокси-сервер, который не знает, как он работает. Большая часть моего конфигурационного файла скопирована и я думаю, что это проблема :) Если кто-то сможет взглянуть на него и направить меня в правильном направлении, это избавит меня от головной боли и времени.

...