error_log /var/log/nginx_error.log info; stream { log_format basic '$remote_addr [$time_local] ' '$protocol $status $bytes_sent $bytes_received ' '$session_time'; limit_conn_zone $binary_remote_addr zone=addr:10m; upstream tcpProxy { hash $remote_addr consistent; server 192.168.1.1:...
4) 所使用的X.509证书文件(PEM格式),对证书不熟悉的请参考《那些证书相关的玩意儿》,对于使用TCP协议的服务器端,其实是可以用自签的证书的,(如何生成自签证书,刚提到的文章里也有说明)你客户端“认”它就是了,反正我们的目的就是防范中间人攻击,不像做网站,我们得让浏览器“认”证书才行 5) 证书私钥文件 6...
Nginx 的 TCP/UDP 负载均衡是应用 Stream 代理模块(ngx_stream_proxy_module)和 Stream 上游模块(ngx_stream_upstream_module)实现的。Nginx 的 TCP 负载均衡与 LVS 都是四层负载均衡的应用,所不同的是,LVS 是被置于 Linux 内核中的,而 Nginx 是运行于用户层的,基于 Nginx 的 TCP 负载可以实现更灵活的用户访...
其基于ngx_stream_proxy_module模块实现tcp负载,另外基于模块ngx_stream_upstream_module实现后端服务器分组转发、权重分配、状态监测、调度算法等高级功能。 ngx_stream_core_module模块: 模拟反代基于tcp或udp的服务连接,即工作于传输层的反代或调度器,定义在main区,与http平级,一个七层,一个四层。 stream { ......
默认为tcp协议; udp: 监听udp协议的端口; 二、ngx_stream_proxy_module代理模块 允许在TCP、UDP(1.9 13)和UNIX域套接字上代理数据流。 (1) proxy_pass address; 设置代理服务器的地址。该地址可以指定为域名或IP地址,以及端口或UNIX域套接字路径。
首先在stream段中使用include包含的多个upstream模块配置文件,在conf文件夹中创建一个conf.d文件,将多个子配置文件写入,针对不同的协议有不同的配置,保证转发数据源IP不变,具体配置如下所示: tcp配置如下: upstream access_log_1532 { server 1.1.1.1:1532 weight=2; ...
Nginx可以用来做TCP代理,以下是具体步骤:编译Nginx时需要添加stream模块支持。可以使用以下命令编译:./...
通过我们会用Nginx的upstream做基于http/https端口的7层负载均衡,由于Nginx老版本不支持tcp协议,所以基于tcp/udp端口的四层负载均衡一般用LVS或Haproxy来做。至于4层负载均衡和7层负载均衡的区别,可以参考:http://www.cnblogs.com/kevingrace/p/6137881.html。然而Nginx从1.9.0版本开始,新增加了一个stream模块,用来...
简介: Nginx系列教程(13) - TCP反向代理实现 Nginx在1.9.0的时候,增加了一个 stream 模块,用来实现四层协议(网络层和传输层)的转发、代理、负载均衡等。stream模块的用法跟http的用法类似,允许我们配置一组TCP或者UDP等协议的监听,然后通过proxy_pass来转发我们的请求,通过upstream添加多个后端服务,实现负载均衡,...
{ listen 8081; #需要监听的端口 proxy_timeout 20s; proxy_pass kevin; } } 创建最高级别的stream(与http同一级别),定义一个upstream组 名称为kevin,由多个服务组成达到负载均衡 定义一个服务用来监听TCP连接(如:8081端口), 并且把他们代理到一个upstream组的kevin中,配置负载均衡的方法和参数为每个server;配置...