我正在研究常用Web服务器之间的差异.
当谈到特定功能时,我很难找到明确的答案,对我来说最重要的是:能够动态地重写响应体.
场景:Web服务器(apache,nginx,iis,varnish,haproxy)被部署为反向代理或应用服务器代理(以nginx – >乘客为例).
问题:哪些Web服务器以及如何重写响应主体.关于此类操作的简易性和性能的评论或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
还有别的我忘了?
谢谢.
结束此表:
**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