Nginx 配置TCP代理转发
Posted jeikerxiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx 配置TCP代理转发相关的知识,希望对你有一定的参考价值。
nginx 配置TCP代理转发
使用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代理转发的主要内容,如果未能解决你的问题,请参考以下文章