Bonjour à tous,
J'ai un reverse proxy https en frontal, et un serveur web en http hébergeant un webservice en backend.
Lors des requêtes pour récupérer la définition du webservice, le résultat est avec une "address location" en http sur le port 80.
Or, les requêtes sont effectuées en https.
Il semblerait que mon "ProxyPreserveHost On" ne fonctionne pas...
Voici la configuration du reverse proxy :
<VirtualHost IPREVERSEPROXY:443>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/moncertificat.cer
SSLCACertificateFile /etc/ssl/certs/CACertificate.cer
SSLCertificateKeyFile /etc/ssl/certs/MaClePrivee.key
ServerAdmin
admin@dummy.org
RequestHeader set X-Forwarded-Proto "https"
SSLProxyEngine On
RequestHeader set Front-End-Https "On"
DocumentRoot /www/reverseproxy
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
ServerName wesbervice.dummy.org
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /
http://IPSERVEURWEBSERVICE:8080/
ProxyPassReverse /
http://IPSERVEURWEBSERVICE:8080/
</VirtualHost>
la requête vers https://IPREVERSEPROXY/WebService?wsdl
retourne quelque chose comme :
<soap:address location="http://IPREVERSEPROXY:80/WebService" />
normalement, elle devrait retourner quelque chose contenant :
<soap:address location="https://IPREVERSEPROXY/WebService" />
Il me semblait que la directive
"ProxyPreserveHost On"
était là pour ça.
Merci d'avance pour votre aide.
Partager