Nginx 配置TCP代理转发

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jeikerxiao/article/details/87863341

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

猜你喜欢

转载自blog.csdn.net/jeikerxiao/article/details/87863341