在1.9.0版本之后(当前最新版本为1.16.0)可以通过 stream 模块代理 TCP 连接.
基于这个功能, 可以将 Nginx 用作数据库连接的反向代理服务器, 对外暴露端口的同时隐藏真实数据库服务器的 IP 地址.
步骤:
stream{
server {
listen 10521;
proxyconnecttimeout 1s;
proxytimeout: 3s;
proxypass: 192.168.1.100:1521;
}
}
其中, listen 指定代理服务器监听的端口号, proxy_pass 指向真实数据库地址
代理 MySQL 服务器同理.