Introduction Glossaire Guide utilisateur Guide administrateur fonctionnel Guide administrateur technique Prérequis pour Maarch Courrier Installation Breaking Change Exploitation Monter un disque partagé avec Windows sur le serveur Maarch Courrier Montage de disque Connexion aux scanners de bureau Connexion LDAP Envoi de mails Addin outlook Personnalisation des libellés Installation du docker OnlyOffice Mise en place d'un reverse proxy pour docker Ajout d'une licence OnlyOffice Installation du docker Collabora Online Installation du docker Grafana Paramétrage de l'édition des documents Edition de documents avec java Déploiement du Maarch2Maarch Interconnexion avec un parapheur distant Archivage des courriers Envoyer des plis postaux vers Maileva Connexion via Shibboleth Mécanisme de temps d'inactivité Compatibilité outils externes Recommandations de sauvegarde Purge des fichiers de logs et répertoires temporaires Planification des tâches Purge des courriers après votre recette Préciser au reverse proxy le protocole https Matrice des flux Créer un service pour fermer les connexions persistantes de postgres Paramétrage de la langue serveur Les étapes clés pour déployer une nouvelle instance Connexion avec Keycloak Connexion avec Azure AD Connexion avec CAS Paramétrage d'un relay smtp via postfix Prise en compte des formulaires PDF Édition avec Office 365 via Sharepoint Online Lecture automatique de document (LAD) Mise en oeuvre de docker Architecture technique

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 suivants :

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 nous vous invitons a consulter la documentation officielle : 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 suivants :

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"

ajouter un certificat

Installer une autorité de certification Copiez votre certificat au format PEM (le format qui contient ----BEGIN CERTIFICATE----) dans

/usr/local/share/ca-certificates 

et nommez-le avec une extension de fichier .crt.

Ensuite, lancez

sudo update-ca-certificates.

Avertissements: Cette installation concerne uniquement les produits qui utilisent ce magasin de certificats. Certains produits peuvent utiliser d'autres magasins de certificats; Si vous utilisez ces produits, vous devrez également ajouter ce certificat de CA à ces autres magasins de certificats. ( Instructions Firefox , Instructions Chrome , Instructions Java )

Tester le CA Vous pouvez vérifier si cela a fonctionné en recherchant le certificat que vous venez d'ajouter dans /etc/ssl/certs/ca-certificates.crt (qui est simplement une longue liste de tous les certificats de votre autorité de certification approuvée concaténés ensemble).

Vous pouvez également utiliser le client s_client d'OpenSSL en essayant de vous connecter à un serveur dont vous savez qu'il utilise un certificat signé par l'autorité de certification que vous venez d'installer.

$ openssl s_client -connect foo.whatever.com:443 -CApath /etc/ssl/certs

CONNECTED(00000003)
depth=1 C = US, ST = Virginia, O = "Whatever, Inc.", CN = whatever.com, emailAddress = admin@whatever.com
verify return:1
depth=0 C = US, ST = Virginia, L = Arlington, O = "Whatever, Inc.", CN = foo.whatever.com
verify return:1
---
Certificate chain
0 s:/C=US/ST=Virginia/L=Arlington/O=Whatever, Inc./CN=foo.whatever.com
i:/C=US/ST=Virginia/O=Whatever, Inc./CN=whatever.com/emailAddress=admin@whatever.com

... snip lots of output ...

    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1392837700
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)

La première chose à rechercher est la chaîne de certificats située en haut de la sortie. Cela devrait afficher l'autorité de certification en tant qu'émetteur (à côté de i:). Cela vous indique que le serveur présente un certificat signé par l'autorité de certification que vous installez.

Deuxièmement, recherchez le verify return code à la fin pour être défini sur 0 (ok).

results matching ""

    No results matching ""