Nginx实现数据库端口转发
一、需求
客户想要将IDC服务器的数据库端口暴漏在公网上,然后其他业务来调数据库接口。为了保证安全,只开放指定的公网ip访问。
二、逻辑设计
由于客户的IDC服务器与云ECS服务器通过专线打通,所以只需要在云ECS服务器上部署一个Nginx服务,把SLB的公网端口转发到IDC服务器数据库端口。同时,为了保证数据库的安全,须在SLB的端口监听上开启访问控制功能。
SLB-->Nginx-->IDC数据库
三、Nginx代码实现
[root@db nginx]# cat nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events { worker_connections 1024; } stream{ server{ listen 14223; proxy_pass 172.17.7.7:1521; } }
四、访问测试
在一台安装了sqlsplu客户端的服务器上进行连通性测试
sqlplus c##user/\"paaword\"@公网IP:14223/sid