Nextcloud Snap с Collabora не может установить сертификат с помощью Let's Encrypt

На сервере Ubuntu 16.04 у меня установлена ​​система Nextcloud (SNAP) и система управления документами Collabora (Docker). Его внутренний IP-адрес - 192.1368.1.30

Прослушивание NextCloud-Snap на 443 Прослушивание Collabora-Docker на 9980

На этом сервере также имеется Apache2 со следующей конфигурацией для того, чтобы заставить разговоры приложения Collabora с NextCloud:

<VirtualHost *:80>
    ServerName docs.mydomain.com
    DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost *:9081>
    ServerName docs.mydomain.com

    # Encoded slashes need to be allowed
    AllowEncodedSlashes NoDecode

    # 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 retry=0
    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

    # ServerAlias docs.mydomain.com
    SSLProxyEngine on
    SSLProxyVerify None
    SSLProxyCheckPeerCN Off
    SSLProxyCheckPeerName Off

    # Let's Encrypt Certificate
    SSLCertificateFile /etc/letsencrypt/live/docs.mydomain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/docs.mydomain.com/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf    
</VirtualHost>

Ранее перед этой машиной находился обратный прокси-сервер для управления всеми перенаправлениями.

Файл конфигурации для Apache2 на Прокси-сервере был:

<VirtualHost *:80>
    ServerName docs.mydomain.com
    ProxyPreserveHost On
    ProxyPass        / http://192.168.1.30:80/
    ProxyPassReverse / http://192.168.1.30:80/
</VirtualHost>

<VirtualHost *:443>
    ServerName cloud.mydomain.com
    ProxyPreserveHost On
    ProxyPass        / https://192.168.1.30/
    ProxyPassReverse / https://192.168.1.30/
    SSLProxyEngine on
    SSLCertificateFile /etc/letsencrypt/live/cloud.mydomain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/cloud.mydomain.com/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLProxyVerify none 
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    SSLProxyCheckPeerExpire off
</VirtualHost>

<VirtualHost *:443>
    ServerName docs.mydomain.com:443

    # Encoded slashes need to be allowed
    AllowEncodedSlashes NoDecode

    # keep the host
    ProxyPreserveHost On

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

    # WOPI discovery URL
    ProxyPass           /hosting/discovery 
    https://192.168.1.30:9081/hosting/discovery retry=0
    ProxyPassReverse    /hosting/discovery 
    https://192.168.1.30:9081/hosting/discovery

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

    # Admin Console websocket
    ProxyPass   /lool/adminws wss://192.168.1.30:9081/lool/adminws

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

    # ServerAlias docs.brains.engineering
    SSLProxyEngine on
    SSLProxyVerify None
    SSLProxyCheckPeerCN Off
    SSLProxyCheckPeerName Off

    # Let's Encrypt Certificate
    SSLCertificateFile /etc/letsencrypt/live/docs.mydomain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/docs.mydomain.com/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf

    LogLevel debug
    ErrorLog ${APACHE_LOG_DIR}/error.log

</VirtualHost>

Теперь прокси-сервер удален, и я хочу выставить Ubuntu Server напрямую для внешнего. Если я установил NAT в маршрутизаторе для направления трафика 80 и 443 на 192.168.1.30, то все работает нормально, но сертификат SSL недействителен.

Я попытался (пере) установить, согласно инструкции для NextCloud Snap, с

sudo nextcloud.enable-https lets-encrypt

Но я получаю 404, так как Let's Encrypt не может загрузить файл подтверждения на порт 80.

Как настроить новую конфигурацию без обратного прокси-сервера, но установить сертификат SSL для NextCloud Snap?

0
задан 9 January 2020 в 18:34
0 ответов

Теги

Похожие вопросы