Passer le flux docker en https

Cette procédure va vous guider pas à pas dans la mise en place du https avec docker.

Prérequis

Afin d'utiliser une image docker d'un logiciel Maarch. Vous devez tout d'abord télécharger apache2 :

apt install apache2

Une fois l'installation d'apache2 finie nous allons commencer par paramétrer le reverse proxy. Voici un exemple de VHOST pour le reverse proxy :

<VirtualHost *:80>

    #Information sur le serveur
    ServerAdmin webmaster@localhost
    ServerName onlyoffice.mondomaine.com

    #Localisation des journaux
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    #Configuration du proxy : ce vhost(*:80) rebondit sur http://127.0.0.1:81/
    ProxyPass / http://127.0.0.1:81/
    ProxyPassReverse / http://127.0.0.1:81/
    ProxyRequests Off
</VirtualHost>

Il vous faudra ensuite activer les modules apache suivant :

a2enmod proxy
a2enmod proxy_http

Nous allons maintenant pouvoir passer à la mise en place du HTTPS. Deux solutions sont possible pour mettre en place le https :

  • Utiliser letsencrypt

pour l'utilisation de letsencrypt je vous invite a consulter la documentation officiel : https://certbot.eff.org/docs/using.html#apache

  • Utiliser un certificat déjà existant.

Dans ce cas vous devrez créer un nouveau VHOST.

    <IfModule mod_ssl.c>
        <VirtualHost *:443>
            ServerAdmin webmaster@localhost
            ServerName onlyoffice.maarchcourrier.com

            SSLEngine on
            SSLCertificateFile /etc/ssl/certs/fullchain.pem
            SSLCertificateKeyFile /etc/ssl/private/privkey.pem

            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
            </FilesMatch>
            <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
            </Directory>

            ProxyPass / http://127.0.0.1:81/
            ProxyPassReverse / http://127.0.0.1:81/
            ProxyRequests Off
            RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
            RequestHeader set "X-Forwarded-SSL" expr=%{HTTPS}
        </VirtualHost>
    </IfModule>

Il vous faudra ensuite activer les modules apache suivant :

a2enmod ssl
a2enmod headers

Dans le cas ou vous rencontrez des anomalies sur la vérification des certificats nous vous conseillons de lancer le docker de la façon suivante :

docker run -i -t -d -p 81:80  \
  --entrypoint "/bin/bash" \
  onlyoffice/documentserver:6.2.2 \
  -c "/var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/default.json -I -e 'this.services.CoAuthoring.requestDefaults.rejectUnauthorized=false' && /app/ds/run-document-server.sh"

results matching ""

    No results matching ""