nginx的tcp/udp代理
nginx从1.9.0版本开始,新增了ngx_stream_core_module模块,使nginx支持四层代理和负载均衡。 http代理,通常就是我们说的七层代理,工作在第七层应用层。 一、查看nginx是否安装stream模块 2>&1 nginx -V | tr ' ' 'n'|grep stream 如果出现下面两项,说明支持 --with-stream --with-stream_ssl_module
二、tcp代理(代理mysql为例) 1、tcp代理与我们平常说的网站反向代理不一样,它是基于tcp,udp协议。 为了方便添加stream配置,我们单独在nginx/conf目录创建一个stream目录,存放tcp代理配置文件。
stream { proxy_connect_timeout 3s; include stream/*conf; } 注意,不要加在http配置里了。 然后我们在nginx/conf/stream下创建一个mysql.conf配置文件。 upstream mysql { server 192.168.10.46:3306; } server { listen 3306; proxy_connect_timeout 3s; proxy_timeout 3s; proxy_pass mysql; } 然后重载nginx /usr/local/nginx/sbin/nginx -s reload 当我们访问本地的3306端口时,会自动代理到192.168.10.46主机的3306端口上。 三、实现SSH转发 在nginx/conf/stream下创建一个ssh.conf配置文件。 upstream ssh { server 0.0.0.0:22; } server { listen 22122; proxy_pass ssh; } 实现了访问主机的22122端口,会自动代理到22端口。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |