一、nginx的TCP/UDP转发
一)stream模块
1.9.0版之后nginx开始具有TCP/UDP的代理转发功能, 但需要手动安装stream模块
用nginx -V命令(注意V是大写, 可查询nginx已安装模块)查了一下, 我的nginx是1.16.0版本, 并且已经安装了stream模块(命令输出包含--with-stream)
二)配置
1、概述
TCP转发的配置, 是TCP层面的, 它和HTTP是同一层级, 并不是HTTP的下层
所以其配置项目要放在nginx的顶级配置文件(/etc/nginx/nginx.conf)的顶级块里面, 和顶级配置文件中的http块同属一个层级。注意不能放在conf.d文件夹下, 这个文件夹下的配置文件都在http块级以下
在顶级配置文件(/etc/nginx/nginx.conf)中添加如下配置块
TCP和UDP转发
内容需要定义在 stream 模块中
upstream、server 填写和http中一样
UDP 的listen 后边要写udp
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
stream {
upstream vaas_tcp {
server 10.10.xxx.134:5060 weight=1 max_fails=3 fail_timeout=10s;
server 10.10.xxx.135:5060 backup;
}
server {
listen 5060;
proxy_pass vaas_tcp;
}
server {
listen 5060 udp;/etc/nginx/mime.types;
default_type application/octet-stream;
nginx -t 检查一下配置文件,
nginx -s reload 重新加载配置, 即可!
版权归原作者 qq_39297233 所有, 如有侵权,请联系我们删除。