阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

利用nginx的stream模块实现内网端口的转发代理

90次阅读
没有评论

共计 683 个字符,预计需要花费 2 分钟才能阅读完成。

导读 nginx 从 1.9.0 开始,新增加了一个 stream 模块,用来实现四层协议的转发、代理或者负载均衡等。比如在内网有一个 mysql 服务,想暴露到公网上去使用,就可以通过 nginx 代理的方式通过 nginx 来进行内网 mysql 的访问。

利用 nginx 的 stream 模块实现内网端口的转发代理

实验环境
nginx1.12.1:192.168.1.19
mysql:   192.168.1.20:3306
1:编译或者升级 nginx 至版本 1.9.0 以上,编译过程中需带上 –with-stream。
./configure  --prefix=/opt/apps/nginx --with-stream
 make && make install
2: 配置 stream,定义代理 192.168.1.20 的 3306 端口映射为端口 2333。
vi /opt/apps/nginx/conf/nginx.conf
……
……
events {
    use epoll;
    worker_connections  65535;
}
#stream 配置
stream {
    server {
       listen 2333; 
       proxy_connect_timeout 1s;
       proxy_timeout 3s;
       proxy_pass 192.168.1.20:3306;    
    }
}
http {
……
……
}
3: 开启 nginx,验证代理是否生效。

可以看到我们现在可以通过 nginx 代理的端口访问到内网的 mysql 服务了。这也直接避免了 mysql 直接暴露到公网,增加些许的安全。当然,利用 stream 也可以实现后端服务的负载均衡。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计683字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中