当前位置: 首页 > 工具软件 > Spiped > 使用案例 >

搭建基于spiped代理的加密Redis Master/Slave服务

萧和同
2023-12-01

背景

由于业务的需求,线上的Redis服务需要部署到公网上。考虑到数据的敏感性,所以不希望数据在公网上是明文传输的,所以希望引入SSL/TLS来加密传输的数据,从而保证数据在一定程度上的安全性。 鉴于目前的Redis并没有官方支持的ssl/tls通信功能。所以只能通过SSL代理来实现。 在这里选择了Spiped作为SSL的代理工具。 Spiped的项目地址是:https://github.com/Tarsnap/spiped 官方地址是:http://www.tarsnap.com/spiped.html

部署Redis

2台机器,IP、端口分别为:

  1. 192.168.1.100:36379(Master)
  2. 192.168.1.101:36379(Slave)

分别下载redis:http://download.redis.io/releases/redis-3.2.3.tar.gz

编译redis: tar zvxf redis-3.2.3.tar.gz && cd redis-3.2.3 && make

启动Master: cd src/ && ./redis-server ../redis.conf

启动Slave:

  1. 修改redis.conf。在 redis-3.2.3目录下。 添加slaveof,对应结构是: slaveof 192.168.1.100 36379
  2. 启动Slave: cd src/ && ./redis-server ../redis.conf

在服务端启动redis-cli并写入测试数据: ./redis-cli -p 36379 set "TEST_KEY" "FOO"

在客户端启动redis-cli并检查是否有测试数据同步进来: ./redis-cli -p 36379 KEYS *

部署Spiped

下载spiped: https://github.com/Tarsnap/spiped.git

安装spiped: cd spiped && make

生成对应的key: dd if=/dev/urandom bs=32 count=1 of=spiped.key

服务端

启动spiped: cd spiped && ./spiped -d -s [0.0.0.0]:46379 -t [192.168.1.100]:36379 -k /root/tools/etc/spiped.key

表示启动一个spiped代理,监听46379端口,并转发到192.168.1.100的36379端口。

客户端

从服务端scp回来生成的spiped.key 启动spiped: cd spiped && cd spiped && ./spiped -e -s [0.0.0.0]:46379 -t [192.168.1.100]:46379 -k ../../etc/spiped.key

表示启动一个spiped代理,监听46379端口,并转发到192.168.1.100上的46379端口上。

验证

修改slave的redis.conf的slaveof,改为: 12.0.0.1 46379。 重启slave的redis-server。 在Master上的redis中写入新的测试数据: set "TEST_KEY3" "bla"

打开slave上的redis-cli。检查对应的key是否存在: KEYS *

转载于:https://my.oschina.net/seraphln/blog/740394

 类似资料: