web-dev-qa-db-fra.com

Proxy avec SSL

J'ai un hôte Linux exécutant Apache et un hôte Windows exécutant IIS. J'ai un domaine qui pointe vers l'hôte Linux et j'ai besoin de relayer des requêtes (proxy) à IIS; J'ai donc la définition d'hôte virtuel suivante dans Apache (qui fonctionne parfaitement):

<VirtualHost 192.168.0.2:80>
    ServerName www.acme.com
    DocumentRoot /var/www/acme.com

    RewriteEngine On
    RewriteOptions Inherit
    RewriteRule ^/(.*) http://win.acme.com/$1 [P]
</VirtualHost>

maintenant je veux ajouter le support SSL; la définition devient:

<VirtualHost 192.168.0.2:443>
    ServerName www.acme.com
    DocumentRoot /var/www/acme.com
    GnuTLSEnable On
    GnuTLSPriorities NORMAL:%COMPAT
    GnuTLSCertificateFile /var/www/ssl/www.acme.com.crt
    GnuTLSKeyFile /var/www/ssl/www.acme.com.key

    RewriteEngine On
    RewriteOptions Inherit
    RewriteRule ^/(.*) https://win.acme.com/$1 [P]
</VirtualHost>

J'ai des certificats valides et de confiance sur les deux serveurs Web et si je visite https://win.acme.com tout va bien, cependant, lorsque je visite https://www.acme.com, je reçois un message d'erreur 500 Internal Server. Un aperçu des journaux d’erreur montre:

[Mer 20 juil 08:35:34 2011] [erreur] [client 76.168.166.70] SSL Proxy demandé pour www.wileybits.com:80 mais pas activé [Conseil: SSLProxyEngine] [Mer 20 juillet 08:35:34 2011] [erreur] proxy: HTTPS: n'a pas pu activer le support ssl pour 74.166.186.70:443 (win.acme.com)

remarquez que la demande de proxy semble concerner le mauvais domaine (wileybits) ... le domaine qu’il affiche est également hébergé par mon serveur Apache mais je ne comprends pas pourquoi il apparaît dans les journaux de acme.com Recherche DNS peut-être?)

en tout cas, que me manque-t-il?

merci d'avance - ekkis

p.s. Les noms d'hôtes et les adresses ont été modifiés pour protéger l'innocent :)

* mettre à jour *

avec:

RewriteRule ^/(.*) https://win.acme.com/$1 [R,L]

cela semble bien fonctionner, mais bien sûr, le nom d'hôte de Windows devient visible, ce qui n'est pas acceptable dans mon scénario.

J'ai aussi essayé (au lieu de mod_rewrite):

ProxyRequests Off
ProxyPass / https://win.acme.com/

mais même erreur

41
ekkis

compris ... apparemment je peux le faire:

SSLProxyEngine On
RequestHeader set Front-End-Https "On"
ProxyPass / https://win.acme.com/
ProxyPassReverse / https://win.acme.com/
CacheDisable *

et ça marche très bien!

[la solution est venue de l'affichage de mikeg sur 3cx.org]

80
ekkis

Pas sûr de la cause de cette erreur, mais vous voudrez peut-être essayer d’utiliser Squid ou Varnish pour y parvenir. Auparavant, j'utilisais Squid pour créer un proxy sans problème avec une instance Windows IIS sécurisée.

0
Will Bonde