我正在对常用Web服务器之间的差异进行个人研究。 当涉及到特定的function时,我正在努力寻找明确的答案,对我来说最重要的是:能够重写响应正文 。
场景 :Web服务器(apache,nginx,iis,varnish,haproxy)作为反向代理或应用服务器代理(以nginx – > passenger为例)。
问题 :在哪个Web服务器中,如何重写响应主体? 对这种操作的简单性和性能的评论也是有帮助的。
我的研究 :
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