Empêcher la redirection https pour les certificats let's encrypt - RegExp dans un if
Bonjour,
Je suis en train de mettre en place l'automatisation du renouvellement automatique des certificats let's encrypt.
Sur mes sites, j'ai une redirection qui redirige l'http sur l'https.
Je le fais de cette manière :
Code:
1 2 3
| RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} |
J'ai ensuite sur le port https une redirection vers le serveur back qui contient l'application (gitlab, nexus...)
Lorsque le challenge se fait avec let's encrypt, il le fait sur l'url : http://[monsite]/.well-known/acme-challenge/. du coup, il est redirigé vers l'application qui ne contient pas l'uri, j'ai donc une page 404.
Le challenge ne se fait pas et mon renouvellement n'est pas effectué.
J'ai donc créé dans /var/www/html de mon apache ce répertoire. J'essaie maintenant que quand l'URI ne contient pas .well-known/acme-challenge cela redirige sur le serveur.
Voici donc ma configuration :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <VirtualHost *:80>
ServerName [monDomaine]
ServerAlias [monDomaineWWW]
DocumentRoot /var/www/html
#Alias "/.well-known/acme-challenge/" "/var/www/html/.well-known/acme-challenge/
#RewriteEngine on
#RewriteCond %{HTTPS} !on
#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
<If "%{REQUEST_URI} !~ m#\.well-known\/acme-challenge\/.*m#">
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</If>
</VirtualHost> |
Quand je supprime ma redirection, j'arrive bien à aller dans le répertoire.
Je ne comprend pas pourquoi ma regex ne marche pas.
Pouvez vous m'aider s'il vous plait ?
Merci d'avance !