Nginx的rewrite模块,就是重写path的模块,可以看到nginx在配置中,除了可以用PCRE支持正则表达式,还可以配置比较复杂的流程,比如if可以在不同条件下rewrite路径:
这已经相当于解析一部分逻辑了,除了openresty支持lua扩展语言,Nginx还支持了njs也就是javascript。 SRS不会支持脚本语言,目前HTTP(S)作为系统间的通用语言,我觉得HTTP集成是更合适的方式。当然Nginx在配置和脚本扩展语言方面,做得非常的好,值得钦佩和学习。 |
Nginx可以支持WebSocket代理,参考WebSocket proxying。 举个栗子,将直播HTTP-FLV流 SRS配置如下:
启动videojs-flow/demo/mse.go,将HTTP-FLV转WS-FLV:
配置Nginx,反向代理WS-FLV如下:
使用bilibili/flv.js,播放流地址: |
在nginx.org文档中,摘录了一篇nginx介绍的文章,Chapter “nginx” in “The Architecture of Open Source Applications”,这篇文章写得很赞,一起读读:
there is always room for improvement
,历史车轮总是在滚滚前行,从不停息。