Nginx实现数据库端口转发

红米2年前技术文章843

一、需求

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

相关文章

MySQL 8.0 Clone 备份恢复演练

前言上一篇文章中,我们介绍了使用 Clone 插件进行备份,相关的恢复流程将在本篇文章介绍。MySQL 8.0 Clone Plugin 详解恢复增量数据的方法,使用的是伪装为 relay log 通...

Prometheus监控Minio集群

Prometheus监控Minio集群

一、概述Minio支持集成prometheus,用以监控CPU、硬盘、网络等数据。二、修改docker-compose.yaml官方的给docker-compose.yaml,默认是不能访问metri...

Linux操作系统之Linux命令的返回值

Linux命令执行后无论成功与否都有一个返回值,如果为 0,则表示命令执行成功,其它值则表示执行错误。具体的错误码含义如下:  "OS error code  1: Operation not per...

开源大数据集群部署(三)集群mysql数据库部署

开源大数据集群部署(三)集群mysql数据库部署

1、mysql部署在hd1.dtstack.com主机root权限下安装配置Ø  在安装目录/root/bigdata目录下解压包tar -xvJf mysql-8.0.31-linux-glibc2...

Docker常用命令

1、找镜像去docker hub,查找需要的镜像,docker pull nginx  #下载最新版 镜像名:版本名(标签) docker pull nginx:1.20.1 #...

创建跨集群用户

1.       登陆源集群和目标集群创建迁移时需要使用的用户(例:hadoop_copy),赋予用户集群超级管理员权限和hdfs超级用户权...

发表评论    

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