====== 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