使用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代理转发内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论