追梦人博客Dream.ren

追梦人 Dream.ren

感觉要被玩坏——Nginx之stream模块初体验

博客好久没更了,更新一波~~


stream模块通过复制流并按照规则进行转发以实现TCP或者UDP代理,进而实现负载均衡,对于https协议,因为没有加解密证书,因此能保证性能和数据安全性,需要Nginx版本不低于1.11.5,且在编译Nginx时需要配置

--with-stream \
–with-stream_ssl_module \
--with-stream_ssl_preread_module \

参数方可。对于Nginx的编译安装,网上一大把,我这里就不再赘述了,值得一提的时官方提供有编译好的最新版二进制文件,懒得编译安装的童鞋(比如我)可以戳这里:https://nginx.org/en/linux_packages.html(Mainline版为开发版,对于stream模块,直接使用默认的nginx包即可,官方有如下解释:“Main nginx package is built with all modules that do not require additional libraries to avoid extra dependencies.”),二进制安装后Nginx默认配置文件位置为/etc/nginx/nginx.conf

接下来就是配置Nginx了,一种比较比较危险但简单粗暴的配置:

stream {
    server {
        listen 443;
        ssl_preread on;
        resolver 8.8.8.8;
        proxy_pass $ssl_preread_server_name:$server_port;
    }
}

当然你也可以指定被负载均衡的域名、超时时间、缓冲区大小、IP黑白名单等、限制连接数等等操作,具体如何实现请参看官方文档(stream模块在下方):
https://nginx.org/en/docs/

评论回复

  1. 回复 猫小黑

    终于更新啦~

  2. 回复 笛声

    不容易,终于看到更新了,文中功能是不是可以反代谷歌?另外偶然发现你的一个兄弟网站https://www.zmrbk.com/

  3. 回复 清雨

    感觉类似SNiProxy

  4. 回复 清雨

    博主你的博客已经被盯上了,现在一打开就弹“网警警告”的提示。

  5. 回复 极客达人一一一

    这个配置会提示验证码的搜索

  6. 回复 unknow

    listen的ssl参数,还需要–with-stream_ssl_module的编译参数

7 + 7 =

回到顶部