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.