Nginx转发Tcp、Udp详细教程(简单粗暴)

简介

  • 如何支持TCP
    nginx支持tcp转发,在1.9.0版本及之后版本中提供,涉及核心模块:ngx_stream_core_modul。nginx若要使用该功能,需要在nginx编译时,带上–with-stream配置参数以启用他。
  • nginx tcp模块 conf 结构:
stream {
    # 目标服务器
    upstream {
    }
    # 监听路由
    server {
    }
}

1. 转发案例

  • nginx转发redis案例
  • redis安装在192.168.41.128,端口为6379。现在我们需要在主机上直接通过localhost:3333访问
  • 完整配置文件
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

stream {
    upstream redis_proxy {
        server 192.168.41.128:6379;
    }
 
    server {
       listen 3333;
       proxy_connect_timeout 1s;
       proxy_timeout 3s;
       proxy_pass redis_proxy;
    }
}

http {
}

  • 解析
  • upstream 中填写我们的目标redis地址
  • server 中填写我们本地需要监听的端口3333,转发适配器proxy_pass指定目标为我们upstream 中配置的redis_proxy

2. 连接测试

  • 127.0.0.1:3333测试连接
    在这里插入图片描述
  • 连接成功
    在这里插入图片描述

版权声明:本文为qq_42411805原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。