Apache反向代理将JSON响应包装为HTML格式
如果之前有人问过这个问题(找不到任何类似的问题),或者是非常明显的问题,我会提前道歉,我只是个白痴 我正在使用Apache2.4反向代理几个内部页面和web应用程序。我已经启用了相当多的代理模块,包括mod_proxy_html,以便根据需要重写html。代理的每个页面或web应用程序都位于块内 一般来说,这很有效。链接起作用,资源按其应该的方式加载等等等等。但其中一些web应用程序使用AJAX实现了一些出色的UX功能,大多数AJAX请求都会命中代理JSON端点 我的问题是:任何代理JSON响应都封装在Apache反向代理将JSON响应包装为HTML格式,json,apache,reverse-proxy,mod-proxy,mod-proxy-html,Json,Apache,Reverse Proxy,Mod Proxy,Mod Proxy Html,如果之前有人问过这个问题(找不到任何类似的问题),或者是非常明显的问题,我会提前道歉,我只是个白痴 我正在使用Apache2.4反向代理几个内部页面和web应用程序。我已经启用了相当多的代理模块,包括mod_proxy_html,以便根据需要重写html。代理的每个页面或web应用程序都位于块内 一般来说,这很有效。链接起作用,资源按其应该的方式加载等等等等。但其中一些web应用程序使用AJAX实现了一些出色的UX功能,大多数AJAX请求都会命中代理JSON端点 我的问题是:任何代理JSON响应
<html><body><p>{ "Example": "Yes" }</html></body></p>
{“示例”:“是”}
我不知道这些HTML标签是从哪里来的,我试图摆脱它们的一切都没有奏效。我已经尝试过LocationMatch块,并显式地将ProxyHTMLEnable设置为Off,同时删除替代输出过滤器
是否有一种方法可以显式禁用对特定URL的响应正文重写/替换?这似乎是在上讨论的问题 对于现代版本的软件(在2011年mod_proxy_html迁移到apache.org之前的某个时候),建议使用xml2StartParse指令进行修复 话虽如此,如果ProxyHTMLEnable Off没有修复它(在服务器重新启动之后),那么您还存在与配置指令范围相关的其他问题
顺便问一下,为什么我可以使用Facebook的谷歌在这里“注册”,但不能使用OpenID?谷歌和Facebook付给你多少钱来勒索我?我也有同样的问题。经过两天的测试,我找到了解决办法 在位置区域中,您需要进行注释
#SetOutputFilter proxy-html
我只有以下几行
< Location /blabla >
#ProxyHTMLEnable off
ProxyPassReverse /
#SetOutputFilter proxy-html
ProxyHTMLURLMap /externalBlaBla/ /blabla/
ProxyPassReverseCookiePath / /blabla
< /Location >
#可编程关闭
ProxyPassReverse/
#SetOutputFilter代理html
ProxyHtmlURL映射/外部blabla//blabla/
ProxyPassReverseCokiePath//blabla
通过注释掉
SetOutputFilter代理html
您只需禁用链接重写,因此proxy_html什么也不做。您可以尝试使用LocationMatch和否定的lookahead正则表达式:这对眼睛来说有点难。也许用代码块格式化?