-
Notifications
You must be signed in to change notification settings - Fork 0
Apache
Mathieu Lavigne edited this page Jan 23, 2025
·
13 revisions
Vérifier la configuration :
apachectl configtestListe des sites :
apachectl -SListe des modules :
apachectl -MRedirection d'une URL front vers un serveur back :
<VirtualHost *:80>
ServerName front.local
<Location /api/>
ProxyPass http://localhost/ # "/api/" devient "/" donc les URL front /api/x/y sont traduites en /x/y vers le back
ProxyPassReverse http://localhost/
ProxyPreserveHost On # Pour éviter que le proxy n'écrase le header Host
RequestHeader set Host "back.local" # Correspond au ServerName dans la conf Apache du back, pour qu'Apache retrouve le bon serveur virtuel
</Location>
</VirtualHost>Pour écouter les requêtes qui arrive sur le serveur via le port 80. Toutes les commandes suivantes sont à intégrer dans ce contexte de serveur virtuel.
<VirtualHost *:80>
</VirtualHost>Pour augmenter le niveau des logs du fichier /var/log/apache2/error.log :
LogLevel debugCondition sur le header Host de la requête :
ServerName mon-host.frOn peut le tester en local avec curl :
curl http://mon-host.fr/ -vvvv --resolve mon-host.fr:80:127.0.0.1Pour rediriger toutes les requêtes vers un site externe en utilisant http :
ProxyPass "/" "https://postman-echo.com/get/"
ProxyPassReverse "/" "https://postman-echo.com/get/"Pour utiliser https, activer le module ssl et ajouter :
SSLProxyEngine onPour présenter un certificat client :
SSLProxyMachineCertificateFile "client.pair.pem"Attention à bien vérifier les points suivants :
- Le fichier contient la concaténation du certificat et de la clé privée
- La clé est au format PKCS1 RSA
- La clé n'est pas chiffrée
- Le fichier ne contient pas de certificat intermédiaires ou racine, ou alors ils ne se trouvent pas juste à côté de la clé
On peut vérifier les logs avec LoLevel ssl:debug au rechargement Apache :
-
AH02207: loaded 1 client certs for SSL proxysi le fichier est accepté -
loaded 2 intermediate CAs for cert 0: [subject:s'il contient des certificats intermédiaires ou racines -
AH02206: no client certs found for SSL proxysinon -
downstream server wanted client certificate but none are configuredsinon et si on tente quand même une requête