Nginx 反向代理 TCP 端口

1
2
3
4
5
6
7
8
9
10
11
stream {

upstream rabbit {
server 172.30.241.82:5672;
}

server{
listen 45672;
proxy_pass rabbit;
}
}

stream 放到和 http 同一级

别忘了开启防火墙端口

firewall-cmd --zone=public --add-port=45672/tcp --permanent
firewall-cmd --reload

如果提示错误 unknown directive "stream"
则需要加载相应的模块

在 nginx.conf 配置

1
load_module /usr/lib64/nginx/modules/ngx_stream_module.so;

这里是我用的包
Modules

使用源码编译包

下载源码

地址 :https://nginx.org/en/download.html

启动一个 docker 容器用来编译打包

docker run -it -v /tmp/nginx-1.18.0/:/data centos:7.4.1708 bash

安装编译工具等

1
yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
1
yum groupinstall 'Development Tools'

配置,编译,安装

1
2
3
4
5
./configure --prefix=/usr/local/nginx  --with-http_stub_status_module --with-http_ssl_module --with-stream

make

make install

然后直接拷贝编译好的 nginx 二进制文件用就行