美文网首页
Nginx四层代理 - 反向代理MySQL

Nginx四层代理 - 反向代理MySQL

作者: 十毛tenmao | 来源:发表于2021-09-15 23:16 被阅读0次

    nginx一般都用作http代理,工作在第七层网络, 如果不是http协议的话,就需要用到四层代理, 用到stream模块

    设置四层代理

    • 编译nginx: 支持stream模块
    ./configure --with-stream
    
    • 配置nginx: 转发13306请求到3306
    # stream与http是同级别的, 内部配置语法跟http模块基本一致
    stream {
        # 配置反向代理
        upstream mysql {
            server 127.0.0.1:3306;
        }
    
        server {
            # 监听13306端口
            listen 13306;
            # 不需要配置location(因为TCP层没有URL)
            # 转发到mysql
            proxy_pass mysql;
        }
    }
    

    测试

    mysql -h {host} -P 13306
    

    常见问题

    • nginx: [emerg] unknown directive "stream": nginx没有编译stream模块,需要重新编译,并支持stream --with-stream

    相关文章

      网友评论

          本文标题:Nginx四层代理 - 反向代理MySQL

          本文链接:https://www.haomeiwen.com/subject/hwnlgltx.html