jwenjian/ghiblog

Nginx代理Oracle数据库连接

jwenjian opened this issue · 0 comments

image

Nginx在1.9.0版本之后(当前最新版本为1.16.0)可以通过stream模块代理TCP连接.

基于这个功能, 可以将nginx用作数据库连接的反向代理服务器, 对外暴露端口的同时隐藏真实数据库服务器的IP地址.

步骤:

  1. 在代理服务器上安装Nginx, 这里假设代理服务器IP为192.168.1.80 各个版本的安装指南参见 -> 这里
  2. 配置stream模块, 这里假设真实服务器IP地址为192.168.1.100, 端口号为1521:
stream{
    server {
        listen 10521;
        proxy_connect_timeout 1s;
        proxy_timeout: 3s;
        proxy_pass: 192.168.1.100:1521;
    }
}

其中, listen指定代理服务器监听的端口号, proxy_pass指向真实数据库地址

  1. 启动Nginx
  2. 使用SQLPLUS/SQLDevelpoer连接代理服务器: 192.168.1.80:10521即可

代理MySQL服务器同理.