7 votes

Proxy inverse Apache vers un conteneur Docker

J'ai un site web qui tourne sur un conteneur docker, et j'ai créé un VirtualHost sur l'apache de l'hôte qui fait un reverse proxy vers le conteneur (sur le port 8280 de l'hôte). J'ai donc :

<VirtualHost *:443>
    ServerName www.example.com
    DirectoryIndex index.php index.html
    SetOutputFilter SUBSTITUTE,DEFLATE

    ProxyPass / http://localname:8280/
    ProxyPassReverse / http://localname:8280/

    Substitute "s|http://localname:8280/|https://www.example.com/|i"

    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
    SSLCertificateKeyFile /path-to/privkey.pem
    SSLCertificateFile /path-to/cert.pem
    SSLCertificateChainFile /path-to/chain.pem

    <Proxy *>
        Order deny,allow
        Allow from all
        Allow from localhost
    </Proxy>
</VirtualHost>

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias www.example.com

    Redirect permanent / https://www.example.com/
</VirtualHost>

Le proxy fonctionne bien, j'ai une réponse lorsque j'écris www.example.com dans le navigateur, mais tous les liens pointent vers http://localname:8280 (comme le montre la console du navigateur) et une erreur de contenu mixte, c'est pourquoi j'ai mis la directive Substitute, mais cela ne fonctionne pas.

J'utilise la configuration de mod_substitute de la documentation d'Apache.

https://httpd.apache.org/docs/2.4/mod/mod_substitute.html

Mais cela ne fonctionne pas, rien ne change. Le conteneur docker est basé sur l'image bitnami/apache avec la configuration par défaut.

Toute aide serait appréciée.

4voto

Jaldazabal Points 111

Ok, j'ai trouvé la réponse par moi-même. Il suffit d'ajouter la ligne suivante à la directive Substitute :

AddOutputFilterByType SUBSTITUTE text/html

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X