在不同的网络服务器(nginx、apache、iis 等)中重写响应体的可能性

Min*_*ius 3 iis nginx varnish reverse-proxy apache-2.2

我正在对常用 Web 服务器之间的差异进行个人研究。当涉及到特定功能时,我正在努力寻找明确的答案,对我来说最重要的是:即时重写响应正文的能力。

场景:web服务器(apache、nginx、iis、varnish、haproxy)部署为反向代理或应用服务器代理(nginx-->passenger为例)。

问题:在哪些网络服务器中以及如何重写响应正文。关于此类操作的简便性和性能的评论或 2 也会有所帮助。

我的研究

Content rewritting:

Nginx: ngx_http_sub_module
Nginx: LUA body_filter: https://groups.google.com/forum/embed/#!topic/openresty-en/Gj-s_hARc84 
Apache: mod_substitute
Apache: starting from 2.3 LUA can be used as a scripting language (and the response body rewriting with it is possible)
IIS: does not seem top be possible?
Varnish: possible, but hacky: https://github.com/aivarsk/libvmod-rewrite 
HAproxy: not possible, although it might be possible with LUA in the future
Run Code Online (Sandbox Code Playgroud)

还有什么我忘记了吗?谢谢。

Min*_*ius 5

最终得到这张表:

**Nginx**: ngx_http_sub_module --> http://p.defau.lt/?A6UukYFKZrYLalJ5KOuTKg 
**Nginx**: Nginx + lua. LUA body_filter --> http://p.defau.lt/?0ZxLWENoEkFIRD17QlEtbQ 
**Apache**: Apache Module mod_substitute --> http://p.defau.lt/?IS8u2mnAQTSHs4qEl_MSFQ 
**Apache**: As of version 2.3 LUA can be used as a scripting language for Apache. Response body rewriting is possible there as well. --> http://p.defau.lt/?tTAqWfA8sezQZkmvI3LnFw 
**Varnish**: Possible, but hacky: https://github.com/aivarsk/libvmod-rewrite 
**HAproxy**: Not possible. Might be possible with LUA in the future
Run Code Online (Sandbox Code Playgroud)