Você pode tentar o link . O objetivo é reescrever URLs em uma "situação de proxy".
Eu tenho um serviço http em execução em 10.1.1.187:8080.
Este é fornecido como um serviço https público para o link que é 10.1.1.186:443 por meio da mágica do proxy do apache:
<VirtualHost 10.1.1.186:443>
ServerName public.example.com
#Configure Reverse Proxy
ProxyRequests Off
ProxyPreserveHost On
<Location />
ProxyPass http://10.1.1.187:8080/
ProxyPassReverse http://10.1.1.187:8080/
Order allow,deny
Allow from all
</Location>
#Define Virtual Host Specific SSL information.
SSLEngine On
SSLProxyEngine On
SSLProxyProtocol all -SSLv2
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>
Quando eu insiro o link no meu navegador e clico no certificado, posso obter a primeira página que contém um formulário de login:
<form action="http://public.example.com/login" method="post">
<-- ... contains username, password fields and a send button -->
</form>
Então o alvo de ação foi muito bom reescrito. Mas o http deve ler https. Como fazer isso?
Seria bom se o link fosse alterado na tag de ação de formulário, apontando para a página https correta, em vez de usar um segundo host virtual http com uma condição de reescrita.
Editar:
Esta é a parte adicional que resolveu (eu coloquei no vhost mas fora do container Location):
SetOutputFilter proxy-html
# On: rewrite also css and javascript - Off: only in HTML
ProxyHTMLExtended Off
# Maybe this should be switched on
ProxyHTMLURLMap http://public.example.com https://public.example.com
Você pode tentar o link . O objetivo é reescrever URLs em uma "situação de proxy".
Tags reverse-proxy apache-2.2