Nextcloud en HTTPS et reverse proxy
On suppose que Nextcloud est fonctionnel en acces direct sur HTTPS. L'objectif est de ne plus exposer Nextcloud directement mais derriere un reverseproxy NGINX. Nextcloud a un certificat autosigné par défaut de apache, donc pas de certificat officiel ( comme Let’s Encrypt)
Redirection locale HTTP vers HTTPS
pas besoin de reverse proxy voir le bonus du post sur le reverse proxy
le virtualhost HTTPS (example):
<VirtualHost *:443>
DocumentRoot /var/www/nextcloud/
ServerName nextcloud.beemoon.fr
Header add Strict-Transport-Security: "max-age=15768000;includeSubdomains"
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
<Directory /var/www/nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
</VirtualHost>
Mon environnement:
- mon URL publique est ici nextcloud.beemoon.fr,
- l'adresse IP interne de mon serveur nexcloud est 192.168.2.200.
- Mon serveur reverse proxy a pour adresse IP 192.168.2.10.
Après avoir configuré le reverse proxy pour une redirection HTTPS, ajoutez dans config.php à la variable $CONFIG
vi /var/www/nextcloud/config/config.php
$CONFIG = array (
...,
'trusted_domains' =>
array (
0 => '192.168.2.200',
1 => 'nextcloud.beemoon.fr',
),
array (
'trusted_proxies' => ['192.168.2.10'],
'overwritehost' => 'nextcloud.beemoon.fr',
'overwriteprotocol' => 'https',
'overwritecondaddr' => '^192\.168\.2\.10$',
'overwrite.cli.url' => 'https://nextcloud.beemoon.fr',
),
);
Recharger apache et/ou si vous etes avec php-fpm le redémarrer le aussi
systemctl reload apache2 systemctl restart php8.4-fpm.service
Dernière modification : le 2026/07/15
