Cette procédure va vous guider pas à pas dans la mise en place du https avec docker.
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 :
pour l'utilisation de letsencrypt je vous invite a consulter la documentation officiel : https://certbot.eff.org/docs/using.html#apache
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"