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

背景

由于业务的需求,线上的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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值