Apache 反向代理将页面中的链接转换为 https

Apache 反向代理将页面中的链接转换为 https

我已经设置了反向代理,在结果页面上,http 链接显示为 https,因此无法加载它们,因为这是一个纯 http 页面。

这可能是由于反向代理配置不良造成的吗?

这是我的代理.conf:

<IfModule mod_proxy.c>

ProxyRequests Off
<Proxy *>
        AddDefaultCharset off
        Order deny,allow
        Deny from all
        Allow from all
</Proxy>
</IfModule>

这是 VHOST:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName example.com
        ServerAlias www.example.com

        ProxyPass / http://example.com:80/
        ProxyPassReverse / http://example:80/

        ErrorLog /home/webroot/myproxy/log/error.log
        CustomLog /home/webroot/myproxy/log/access.log combined

</VirtualHost>

如果我直接加载原始的 example.com 网站,所有链接都是正确的

答案1

这也可能是您所代理的应用程序导致的。如果该应用程序对 https 进行了某种重定向,则客户端发出的请求将指向 https 页面。由于您没有代理 https,因此它将不起作用。

请提供更多信息,尤其是代理背后的信息。

答案2

我发现这些 https 链接实际上是后端软件由于某些错误设置而创建的。

我犯了一个错误,因为我认为 mod_proxy 可以做到这一点,但它不能,这可以通过重写 html 中的链接的另一个模块来完成。

Krist van Besien 在对该问题的评论中也回答了这个问题:

mod_proxy 不会触及网页内容,因此 https 链接由后端软件创建。您需要在那里解决它。 – 5 月 16 日 4:22

相关内容