我正在对常用 Web 服务器之间的差异进行个人研究。当涉及到特定功能时,我正在努力寻找明确的答案,对我来说最重要的是:动态重写响应体的能力。
场景:Web 服务器(apache、nginx、iis、varnish、haproxy)被部署为反向代理或应用服务器代理(以 nginx --> 乘客为例)。
问题:在哪些网络服务器中以及如何重写响应正文。关于此类操作的易用性和性能的评论或 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
还有什么我忘记了吗?谢谢。
以这张表结束: