zoukankan      html  css  js  c++  java
  • nginx转发mysql连接

    场景:

    访问UAT环境,只能使用客户电脑访问,太难用了,于是就需要在自己电脑上跑代码,通过客户电脑中转来访问uat环境的数据库。

    选用nginx进行转发。配置如下:

    stream {
        upstream cloudsocket {
           hash $remote_addr consistent;
           server 192.168.182.155:3306 weight=5 max_fails=3 fail_timeout=30s;
        }
        server {
           listen 3306;#数据库服务器监听端口
           proxy_connect_timeout 10s;
           proxy_timeout 300s;#设置客户端和代理服务之间的超时时间,如果5分钟内没操作将自动断开。
           proxy_pass cloudsocket;
        }
    }

    重启。

    访问nginx所在机器的ip和配置的3306端口,输入账号密码,就可以转发mysql连接了。

    注意 stream和http是同级别的,不要放入http里面。

    原理,查了一顿,没整明白,以后有时间在研究。

    只有一点点:

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

  • 相关阅读:
    linux常用的基础知识
    【AW346】走廊泼水节
    【AW355】异象石
    【POJ3417】闇の連鎖
    【APIO2010】巡逻
    【SDOI2011】消防
    【BJWC2010】次小生成树
    【POJ3613】Cow Relays
    【POJ1734】Sightseeing trip
    【POJ1094】Sorting it all out
  • 原文地址:https://www.cnblogs.com/DreamFather/p/11358131.html
Copyright © 2011-2022 走看看