Redis如何通过公网访问

redis的使用,正常场景中,应用与部署了DCS Redis缓存数据库的服务器需要在同一个VPC内,而且必须配置相同的安全组规则,以便两者能正常通信。为了方便开发人员在本地搭建开发或测试环境,提高开发效率,华为云DCS提供了一个新功能,即通过公网连接Redis缓存实例。

这里需要提醒一点:通过公网访问可能会降低访问效率,所以对于生产环境,还是建议将应用与DCS Redis实例部署在同一个VPC内,保障访问效率。

 

本文的主要内容是:

安装并配置Stunnel客户端

安装Redis客户端

 

本文操作的前提是已经在华为云Console控制台(点击这里进入)申请了DCS Redis实例,并已记录了Redis实例的访问IP和端口。

 

安装和配置Stunnel客户端

公网访问DCS Redis实例,重点是安装和配置Stunnel客户端。

我的本地开发环境操作系统为Linux,这里重点介绍下怎么在Linux下安装和配置Stunnel客户端。如果是Windows系统,可参考华为云DCS的官方文档。步骤如下:

1.      安装stunnel客户端。

推荐使用apt和yum两种安装方式,常见Linux系统,一般至少支持其中一种。

 

apt-get方式安装。apt-get管理deb格式的软件包,适用于Debian类操作系统,如Ubuntu。命令如下:

 

apt install stunnel

apt-getinstall stunnel

如果命令执行后提示找不到Stunnel,可以尝试执行apt update,更新配置后再安装Stunnel。
yum方式安装。管理rpm格式的软件包,适用于Fedora、CentOS、Red Hat等操作系统。

 

yum install stunnel

2.    安装成功后,编辑/etc/default/stunnel4,将参数ENABLED设置为1。

3.    配置stunnel客户端,配置文件为stunnel.conf。

以下配置项需要修改,其他配置项保持默认值即可:

debug = 4
output = /var/log/stunnel.log
sslVersion = all
[redis-client]
client = yes
accept = 8000
connect = {弹性IP地址}:{端口}
CAfile = /etc/stunnel/dcs-ca.cer
  • client值固定填yes,表示为Stunnel客户端。
  • CAfile为CA证书,可选。如果需要,这个证书需要到DCS Console上进入到缓存实例详情页面下载该证书;如果不需要,删除参数。
  • accept为Stunnel监听端口,可以自定义。Redis客户端访问缓存实例时填写此端口。
  • connect为Stunnel转发地址与端口,此处填Redis缓存实例的IP地址与端口。
 

4.      启动stunnel服务。

使用了Stunnel默认配置文件,则直接执行命令:

stunnel

自定义配置文件的路径,则执行命令:

stunnel /{customdir}/stunnel.conf

其中/{customdir}/stunnel.conf为自定义存储路径。
Ubuntu还可以使用 service stunnel4 start 或者systemctl startstunnel4。Stunnel4.x的版本,服务/进程名为stunnel4。

启动后可执行ps -ef|grep stunnel确认进程是否正常运行。

5.      查看127.0.0.1:8000是否已经被监听。

8000即中accept字段配置的Stunnel监听端口。

netstat -plunt |grep 8000|grep "LISTEN"

Redis客户端连接“127.0.0.1:8000”,stunnel会将请求转发给DCS的Redis缓存实例。

 

安装Redis客户端

1.      获取Redis客户端源码,下载路径为http://download.redis.io/releases/redis-3.0.7.tar.gz。

2.      解压并安装Redis客户端。

tar -xzf redis-3.0.7.tar.gz
cd redis-3.0.7
make

3.      连接缓存实例。

cd src
./redis-cli -p 8000
auth 

8000即中stunnel配置文件中accept字段配置的Stunnel监听端口。为创建缓存实例时自定义的密码。

连接成功后,回显信息如下:

OK
127.0.0.1:8000>

 

你可能感兴趣的:(Redis如何通过公网访问)