Nginx实现数据库端口转发

红米2年前技术文章791

一、需求

客户想要将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

相关文章

sparksql集成ranger权限测试

sparksql集成ranger权限测试

##启动thriftserver cd /opt/dtstack/spark/spark_pkg/sbin ./start-thriftserver.sh \ --master yarn \...

flink集成iceberg访问hive catalog任务报错

flink集成iceberg访问hive catalog任务报错

问题现象flink在集成iceberg后访问hive catalog任务无法执行,但flink自身任务正常,iceberg表任务无法执行,报错如下:Caused by: java....

谈谈K8S Pod Eviction 机制

Pod Eviction 简介Pod Eviction 是k8s一个特色功能,它在某些场景下应用,如节点NotReady、Node节点资源不足,把pod驱逐至其它Node节点。从发起模块的角度,pod...

HBase导出表和备份表操作

HBase导出表和备份表操作

HBase提供了几种导出数据的方式,包括使用HBase自带的工具和使用HBase的API。本文主要是讲的使用HBase自带的工具进行导出首先我们创建一个表 插入一些数据hbase shelllistc...

EasyMR如何为服务开启Kerberos

EasyMR如何为服务开启Kerberos

一、Hadoop为什么需要安全最早部署Hadoop集群时并没有考虑安全问题,未开启安全认证时,Hadoop 是以客户端提供的用户名作为用户凭证, 一般即是发起任务的Unix 用户。一般线上机器部署服务...

Ranger部署

安装前准备1.1. 创建用户和用户组groupadd rangeruseradd -g ranger ranger1.2. 数据库配置mysql -uroot -p -hxxx.xxx.xxx.13 ...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。