現在網上一查出現安全模式的連接,基本都是要關閉服務端的操作,其實這種方式是不正確的,最有效的解決方式是使用stunnel進行安全模式的連接。
我碰到的問題是微軟雲(其實我不想用!)連接Redis,默認采用6380做為SSL端口,而微軟雲同時還會啟用非SSL端口6379,如果嫌其麻煩,可以用非SSL進行連接。
下面是解決方法:
1、安裝stunnel,這個工具的原理是可以簡單的看做代理,把遠程請求用stunnel,返回后用本地映射一個端口。
# Mac brew instsall stunnel # CentOS yum install -y stunnel
2、配置
# Mac配置文件路徑 vi /usr/local/etc/stunnel/stunnel.conf # CentOS配置文件路徑 vi /etc/stunnel/stunnel.conf
配置如下:
[redis-cli] client = yes accept = 127.0.0.1:6380 connect = <Redis 主機名稱>:6380

運行stunnel
stunnel
3、連接
注意,此時的連接應該為localhost,而不是上面的地址。
redis-cli.exe -p 6380 –a <訪問密鑰>
總結:
其實上面可以看出,要先運行stunnel,然后stunnel代理了遠程的一個連接,並映射出本地端口,其實本地的端口可以寫成別的。
為什么會有stunnel,原因是以前的一些客戶端本身不支持SSL,尤其是一些證書等等,那么stuunel很好解決了這一部分客戶端的問題,並通過代理使客戶端無感知。
參考:
https://www.cnblogs.com/adylee/archive/2007/09/16/894538.html
https://help.compose.com/docs/redis-and-redis-cli
https://aws.amazon.com/cn/premiumsupport/knowledge-center/elasticache-connect-redis-node/
