====== 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 [[https://letsencrypt.org/fr/getting-started/|Let’s Encrypt)]]
**Redirection locale HTTP vers HTTPS**
pas besoin de reverse proxy voir le [[:systeme:linux:serveurs:reverseproxy#bonusrediriger_le_port_80_vers_443_en_direct_sans_reverse_proxy|bonus du post sur le reverse proxy]]
le virtualhost HTTPS (example):
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
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
Dav off
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 [[:systeme:linux:serveurs:reverseproxy#redirection_vers_https|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