Comment rediriger http vers https avec Let's Encrypt et Apache2 sous
Debian ?
>> Je cherche à configurer Let's Encrypt pour plusieurs domaines, sur Apache2.
>>
>> - Première question : Faut t'il créer 1 ou 2 certificat, pour
>> WWW.Domain.TLD et Domain.TLD ?
> tu peux créer un certificat pour plusieurs sous-domaines en même temps :
> domain.tld, mail.domain.tld, ww1.domain.tld, ww2.domain.tld, etc
>
> J'en ai fait au moins 6 comme ça :-) (Ne pas oublier le mail pour l'échange
> en TLS.
>
>> - Deuxième question : Apache2, par défaut, permet t'il bien de rediriger
>> http vers https, sans avoir a modifier la configuration de https ?
> Pour Apache, dans le(s) vHost(s), tu fais une redirection du ServerName
> sous le port 80 vers le ServerName sous le port 443 (par exemple) :
>
>
> ServerName www.example.com
> ServerAdmin webmaster@localhost
> RewriteEngine on
> RewriteCond %{HTTPS} !on
> RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
>
> DocumentRoot /var/www/html
>
> ErrorLog ${APACHE_LOG_DIR}/error.log
> CustomLog ${APACHE_LOG_DIR}/access.log combined
>
>
>
>
> # Protocols h2 http/1.1
> ServerName www.example.com
> ServerAdmin webmaster@localhost
>
> DocumentRoot /var/www/html
>
> ErrorLog ${APACHE_LOG_DIR}/error.log
> CustomLog ${APACHE_LOG_DIR}/access.log combined
>
> SSLEngine on
> SSLCertificateFile
> /etc/letsencrypt/live/example.com/fullchain.pem
> SSLCertificateKeyFile
> /etc/letsencrypt/live/example.com/privkey.pem
> SSLProtocol all -SSLv2 -SSLv3
> SSLCipherSuite
> ALL:!aNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
> SSLHonorCipherOrder on
> SSLCompression off
> SSLOptions +StrictRequire
> Header always set Strict-Transport-Security
> "max-age=31536000;"
>
>
>
> Un problème cependant si tu veux activer le HTTP2 pour l'instant, il faut
> utiliser une
> passerelle CGI pour PHP (php7.0-fpm) et remplacer le mpm_prefork_module par un
> autre, qui soit compatible.
Bonjour Philippe, et, merci pour ton retour.
J'ai tenté d'appliquer tes conseils.
J'ai bien pu recréer un certificat pour plusieurs domaines, avec et sans
le www.
A ce niveau la, ça fonctionne bien, j'ai pu les tester en https.
J'ai bien ajouté un mail valide, même si je n'ai reçu aucune
confirmation dans cette boite mail.
Je ne sais pas si il n'aurait pas été envoyé sur la machine en local.
Tu disais qu'il faut un mail pour l'échange TLS, la, je ne saisi pas.
J'ai pu constater que depuis mes tests, mon FTP ne fonctionne plus,
mais, ce n'est pas très grave pour le moment, je ne l'utilise que en test.
Par contre, ce qui me dérange d'avantage, c'est que je n'arrive toujours
pas à faire la redirection de http à https.
Voilà mon VirtualHost :
# VirtualHost du domaine unis-pour-la-planete.com
ServerName www.unis-pour-la-planete.com
ServerAlias unis-pour-la-planete.com
# La redirection ne fonctionne pas ! (www).domaine ne cherche pas le https !
RewriteEngine on
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
# J'ai tenté cette redirection également sans succès.
#RewriteEngine On
#RewriteCond %{HTTP_HOST} ^unis-pour-la-planete.com$
#RewriteRule ^(.*)$ https://www.unis-pour-la-planete.com/ [QSA,L,R=301]
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# VirtualHost pour SSL sur le port 443.
ServerName www.unis-pour-la-planete.com
ServerAlias unis-pour-la-planete.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# Quatres lignes pour le certificat Let's Encrypt.
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/green-nrj.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/green-nrj.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/green-nrj.com/chain.pem
# Sur quels critères compléter les lignes maintenant ?
Options FollowSymLinks
AllowOverride All
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
# Cette ligne indique le répertoire du site par rapport au documentroot
/var/www/html défini dans Apache2.
# Cette ligne indique l’url finale. Par exemple : http://localhost/redmine.
RailsEnv production
RackBaseURI /redmine
Options -MultiViews
En complément, voilà le VirtualHost que j'ai créé pour l'adresse IP, il
se peut qu'il y ait un conflit ?
La redirection de l'adresse IP, elle, fonctionne correctement vers le
nom de domaine que j'ai choisi comme étant le domaine par défaut