使用到这个功能,是因为本机虚拟机的网络环境问题,导致无法访问公司的本地数据库,后面 NAT 模式解决了,但是在未解决的时候,使用 Stream(Nginx 反向代理配置),实现了 mysql 的端口代理。

    宿主机:Windows
    虚拟机:Linux

    Stream 的模块在 0.9 版本以上就支持了,不是的话,需要注意一下。
    Nginx 方面的反代配置是很简单的,主要其实,之后遇到此类问题,可以考虑用 Nginx 的反代机制来处理。
    首页在 nginx.conf 里面加入 stream 模块

    1. stream {
    2. include vstream/*.conf;
    3. }

    在 vstream 目录里面建一个 mysql.conf 文件,内容如下

    1. server {
    2. listen 2333;
    3. proxy_connect_timeout 10s;
    4. proxy_pass 192.168.105.200:3306;
    5. }

    然后重启即可

    这样子端口访问 2333 就会转到 200 服务器的 3306 端口了。

    Nginx 作为反代服务器,真的很有意思,简单的配置就能达到目的,可以好好深入的了解一下它所能提供的功能。
    PS: 后面用此功能,在本地开发过程中为同事提过了在我虚拟机中的服务,很爽~~
    https://www.jianshu.com/p/0dce1af10291