我正在使用反向代理后面的应用程序(proxypass
和proxypassreverse
)。
我不明白为什么当我设置为时超链接被禁用(无法点击ProxyHTMLEnable
)ON
。
请注意,涉及的页面包含:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
当我检查日志时,我发现以下消息:
非 HTML 内容;不插入代理 HTML 过滤器
更新:
这就是代理背后的样子:
它看起来应该是这样的:
请注意,由于相对路径,我正在使用 ProxyHTMLEnable。
当我这样做时,它可以正常工作:
ProxyPass /myapp http://192.168.1.55:8080/myapp Keepalive=On timeout=600
ProxyPassReverse /myapp http://192.168.1.55:8080/myapp
当我这样做时,它不会:
ProxyPass /testenv/ http://192.168.1.55:8080/ Keepalive=On timeout=600
ProxyPassReverse /testenv/ http://192.168.1.55:8080/
答案1
使用时,ProxyHTMLEnable ON
您请求 Apache 重写其代理的 HTML 内容。看来,就您而言,您只是想反向代理,以便您的应用程序可以在不同的路径上使用。如果您需要更改呈现的 HTML 的href
或src
属性,您还需要设置:
ProxyHTMLLinks a href
ProxyHTMLURLMap /testenv/myapp /myapp