Nginx 配置TCP代理转发的实现
作者:jeikerxiao
本文主要介绍了使用Nginx新版的stream方式,实现TCP/UDP代理转发,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
使用Nginx 新版的 stream方式,实现TCP/UDP代理转发。
在Nginx安装了 stream 模块后。
修改nginx.conf
在主配置文件下 nginx.conf
增加 stream配置。
如 nginx home 为 /opt/software/nginx
cd /opt/software/nginx/conf vim nginx.conf
增加如下配置
stream { log_format proxy '$remote_addr [$time_local] ' '$protocol $status $bytes_sent $bytes_received ' '$session_time "$upstream_addr" ' '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"'; access_log /opt/software/nginx/logs/tcp-access.log proxy ; open_log_file_cache off; # 统一放置,方便管理 include tcpConf/*.conf; }
增加stream配置
创建tcp配置文件夹,方便以后统一管理配置文件:
cd /opt/software/nginx/conf mkdir tcpConf
创建配置文件
cd tcpConf vim tcp9004.conf
编辑如下:
upstream tcp9004 { server 118.178.188.188:8992; } server { listen 9004; proxy_connect_timeout 8s; proxy_timeout 24h; proxy_pass tcp9004; }
测试重启Nginx
测试Nginx
cd /opt/software/nginx ./sbin/nginx -t
没有问题之后
重启Nginx
./sbin/nginx -s reload
端口监听
使用tcpdump监听tcp数据
安装tcpdump
yum install -y tcpdump
查看网卡
ifconfig
监听对应网卡上的端口
tcpdump -n -v -i eth1 port 8992
到此这篇关于Nginx 配置TCP代理转发的实现的文章就介绍到这了,更多相关Nginx TCP代理转发内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!