ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 利用nginx的stream模块实现内网端口的转发代理

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

Linux操作系统 作者:大雄45 时间:2021-09-26 19:14:26 0 删除 编辑
导读 nginx从1.9.0开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等。比如在内网有一个mysql服务,想暴露到公网上去使用,就可以通过nginx代理的方式通过nginx来进行内网mysql的访问。

利用nginx的stream模块实现内网端口的转发代理利用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也可以实现后端服务的负载均衡。

原文来自:

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69955379/viewspace-2793881/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-12-11

  • 博文量
    1249
  • 访问量
    630728