目录

前言

购买最便宜的云服务器

配置云数据库的出方向规则

最重要的n g i n x 代 理跳板到华为云数据库


前言

今天公司购买了一台华 为 云 数 据 库(R D S M y S q l),让人很吐槽的是——竟然只有内网可访问,如果你想用外网访问还要单独购买一个外网IP,这不是打着安全的幌子去耍流氓吗?

他这样搞那我就只能另外想法去实现了,有没有可能通过现有的服务器去做一个跳板去访问数据库呢?

购买最便宜的云服务器

记住一定在同一个域内,不然他也不能互相访问。

首先,在安全组里面,将我们要访问的端口放开,允许我们通过外网访问。配置安全组如下图:

云服务器IP外网映射 云服务器 外网_服务器

点击安全组、然后在入方向规则添加我们需要放开的访问端口。

配置云数据库的出方向规则

依据华为云的规则:同域,不同安全组的话,需要配置数据库出方向的端口,如下图所示:

云服务器IP外网映射 云服务器 外网_云数据库_02

根据图中选择连接管理,然后选择出站方向配置好自己的端口即可

最重要的n g i n x 代 理跳板到华为云数据库

前面两步是基础,配置好的基础的相关操作后,我们来做最重要的, 通过 n g i n x 代 理来访问我们内网的数据库。具体配置如下:

stream {
   
     server {
        listen 13306;#数据库服务器监听端口
        proxy_connect_timeout 10s;
        proxy_timeout 300s;#设置客户端和代理服务之间的超时时间,如果5分钟内没操作将自动断开。
        proxy_pass in01.internal.cn-north-4.mysql.rds.myhuaweicloud.com:3306;
     }
 }

上面这段stream块中的内容要写在http外面,和http是同级别的。

调整完这个nginx的配置,重启后后,就可以通过我们e c s服务器的外网ip访问我们的内容数据库了。

好了,关于如何解决外网访问内网数据库的问题就到这里,欢迎大家留言交流