我已经设置了反向代理,在结果页面上,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