Nginx 端口转发

引言

这里的端口转发并不是说反向代理,比如说通过nginx代理MySQL。

网络环境

image.png

此时不能直接通过3306连接数据库,然而通过nginx做了代理,以localhost的名义访问MySQL,这样就可以了。

nginx.conf

stream {
  server{
    listen 33063;
    proxy_connect_timeout 5s;
    proxy_timeout 30s;
    proxy_pass 172.18.52.151:3306;
  }
}

或者这样定义

stream {

    log_format proxy '$remote_addr [$time_local] '
                 '$protocol $status $bytes_sent $bytes_received '
                 '$session_time "$upstream_addr" '
                 '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';

    access_log  /var/log/nginx/access.log  proxy; 

    upstream mysql_server {
        server 172.18.52.151:3306;
    }

    server {
        listen 8306;
        proxy_pass mysql_server;
    }
}

image.png
image.png

评论 0

还没有评论,来说点什么吧。

提交后需要审核才会公开。