Bonjour,
J'ai un problème pour accéder à un site chez moi (physiquement à mon domicile) car SFR fait de la m.... avec ma box. Passons sur ce point, j'ai trouvé une parade en passant par un VPN.
En revanche, j'ai un problème de ssl et de hsts. Je vous explique la configuration :
J'ai une dedibox, et un site hébergé chez moi.
Le serveur hébergé chez moi est connecté en VPN sur la dedibox.
La dedibox hoste plusieurs site web dont celui de mon asso sur apache (je ne peux pas changer pour nginx, un de mes modules de forum ne fonctionne que sur apache). Il écoute sur le port 443 et 80 (avec redirection automatique de tout le trafic sur le 80 en 443 SAUF pour le site maison.example.com).
Le site chez moi est sur le port 80, 800, 443 et 4433, est hébergé en ssl avec lets encrypt, le certificat se mets à jour correctement.
# Désolé pas de code, c'est pas moi qui gère, c'est une solution propriétaire
Il y a une règle NAT pour le port 800 et 4433 de la dedibox sur les ports 800 et 4433 chez moi.
1 2 3 4 5 6 7 8 9
| # firewall-cmd --list-all-zones
...
public (active)
target: default
icmp-block-inversion: no
...
forward-ports: port=800:proto=tcp:toport=800:toaddr=10.42.42.6
port=4433:proto=tcp:toport=4433:toaddr=10.42.42.6
... |
J'ai mis un reverse proxy sur les ports 80 et 443 depuis apache vers la maison : il y a un petit trick, maison.example.com résout l'IP publique de ma dedibox, mais j'ai mis l'IP dur serveur à la maison dans le host de la dedibox, ce qui fait que quand elle résout maison.example.com, elle obtient 10.42.42.6 qui est l'ip du serveur à la maison sur le VPN.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <VirtualHost *:80>
ServerName maison.example.com
ProxyPass / http://maison.example.com/
ProxyPassReverse / http://maison.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName maison.example.com
ProxyPass / https://maison.example.com/
ProxyPassReverse / https://maison.example.com/
SSLEngine On
SSLProxyEngine On
ProxyRequests Off
ProxyVia Off
SSLProtocol All -SSLv3 -SSLv2
SSLStrictSNIVHostCheck off
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
SSLCertificateFile /etc/crap-cert/fullchain.pem
SSLCertificateKeyFile /etc/crap-cert/privkey.pem
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
</VirtualHost> |
Le problème étant qu'il y a des services hébergés sur le port 80 et 443 sur le serveur de la maison en plus des ports 800 et 4433 et je ne souhaite pas modifier ces services, parce que je veux que ce soit noob proof.
Du coup, est-il possible de configurer le reverse proxy pour qu'il serve le certificat fourni par maison.example.com et non celui que je lui fournit via la directive SSLCertificateFile ? En gros, que Apache ne fasse qu'une redirection de port bête et méchante au lieu de servir de proxy quoi
Merci d'avance
Partager