我有一个在http://www.example.com:3000/运行的Web-IRC-Client(The Lounge)(没有HTTPS),访问该链接工作正常。当我指定端口时,我可以毫无问题地使用Web客户端。现在,我不想每次都输入端口,这就是我尝试使用Apache2配置文件设置反向代理的原因。问题是客户端正在从错误的位置加载资产(CSS,JS,图像)。有关详细信息,请参见下文我认为ProxyHTMLURLMap
是修复它的正确方法,但不能让它起作用。我还应该注意,我正在将所有非www-http流量重定向到www-https版本。
<VirtualHost *:443>
[...]
SSLProxyEngine on
ProxyPass /irc http://www.example.com:3000/
ProxyPassReverse /irc http://www.example.com:3000/
ProxyHTMLURLMap http://www.example.com:3000/ /irc
</VirtualHost>
当我访问https://www.example.com/irc时,我只是使用我的javascript,css等获取网站文本。检查源代码显示,它正在尝试从以下位置加载资源:
https://www.example.com/css/bootstrap.css
哪个错了。相反,它应该从:
加载https://www.example.com/irc/css/bootstrap.css
非常感谢任何建议!
编辑1:更多信息:使用末尾的斜杠(https://www.example.com/irc/)浏览到https代理。图像和CSS加载,但客户端本身没有响应并显示&#34;这需要更长的时间,可能存在连接问题。&#34;即使一切都结束了。
编辑2:其他用户建议添加ProxyHTMLExtended On
,但它也没有帮助。
答案 0 :(得分:0)
即使这个问题很老,我也想把这个留在这里:
https://serverfault.com/a/685326
注意: 如果仍然无法使用,则可以将其添加到您的配置中:
ProxyHTMLEnable On