nginx1.16 4层代理 绑定端口段

需求:
A主机(192.168.5.2)到B主机网络通,B到C主机(172.18.4.15)网路通,要从A访问C的端口30000-31000

方案1. 在B上修改iptables,失败,没搞明白。

方案2. B上有openresty,配置4层代理,30000端口测试成功
stream listen 可以支持端口段,格式 xxx-xxx , 但需要 1.15.10 之后的版本
最新的openresty是1.15.8.1,基于nginx 1.15.8 core,不支持。只能重新再装个nginx

源码安装1.16.0 nginx

mkdir /home/nginx
cd /home/nginx

// 下载最新版本 nginx-1.16.0.tar.gz,解压,重命名为nginx-1.16.0-src
wget https://nginx.org/download/nginx-1.16.0.tar.gz
tar -zxf nginx-1.16.0.tar.gz
mv nginx-1.16.0 nginx-1.16.0-src

// 下载依赖的pcre(rewrite模板依赖)pcre-8.43.tar.gz  和 zlib (gzip依赖)zlib-1.2.11.tar.gz, 解压
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
tar zxf pcre-8.43.tar.gz
wget http://zlib.net/zlib-1.2.11.tar.gz
tar zxf zlib-1.2.11.tar.gz

cd nginx-1.16.0-src
./configure --prefix=/home/nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-stream --with-debug --with-pcre=../pcre-8.43 --with-zlib=../zlib-1.2.11c

make && make install

./sbin/nginx 启动

编辑conf/nginx.conf

stream {
  server {
     allow 192.168.5.2;
     listen 30000-31000;
     proxy_pass 172.18.4.15:$proxy_port;
  }
}

重启nginx

./sbin/nginx -t
./sbin/nginx -s reload

转载于:https://www.jianshu.com/p/10a7761597b9

猜你喜欢

转载自blog.csdn.net/weixin_34372728/article/details/91258030