聲明:本文並非原創,轉自華爲雲幫助中心的分佈式緩存服務(Redis)的用戶指南。
本文以公網訪問華爲雲分佈式緩存服務的Redis緩存爲示例,介紹Stunnel客戶端在各操作系統下的安裝和配置。
Stunnel客戶端安裝配置(Windows版)
查看並獲取待連接Redis緩存實例的彈性IP地址和端口。
具體步驟請參見查看緩存信息。
下載Stunnel安裝包。從http://www.stunnel.org/downloads.html下載最新版本的Windows版Stunnel安裝包(以exe結尾的安裝包,例如,stunnel-5.44-win32-installer.exe)到本地Windows設備。
運行Stunnel安裝程序,安裝Stunnel客戶端。
配置Stunnel客戶端。在任務欄單擊圖標右鍵,選擇“Edit Configration”,新增如下配置內容,然後保存退出。
[redis-client] client = yes CAfile = D:\tmp\dcs\dcs-ca.cer accept = 8000 connect = {彈性IP地址}:{端口}
以下參數需要根據說明修改,其他參數不用修改:
client值固定填yes,表示爲Stunnel客戶端。
CAfile爲CA證書,可選。如果需要,請根據查看緩存信息,進入到緩存實例詳情頁面下載該證書;如果不需要,可不配置,刪除此參數。
accept爲爲Stunnel監聽端口,可以自定義。Redis客戶端訪問緩存實例時填寫此端口。
connect爲服務端連接地址,此處填Redis緩存實例的IP地址與端口,即分別替換爲步驟1獲取的彈性IP地址和端口。
在任務欄單擊圖標右鍵,選擇“Reload Configration”。
打開命令提示符工具cmd.exe,執行以下命令,查看127.0.0.1:8000是否已經被監聽。
netstat -an |find "8000"
假設客戶端的監聽端口配置爲“8000”。
返回列表行中顯示有“127.0.0.1:8000”,狀態爲“LISTENING”,表示stunnel客戶端正常運行。
Stunnel客戶端安裝配置(Linux版)
查看並獲取待連接Redis緩存實例的彈性IP地址和端口。
具體步驟請參見查看緩存信息。
登錄本地Linux設備。
安裝stunnel客戶端。
這裏主要介紹Stunnel客戶端的幾種常見安裝方法。
說明:
推薦使用apt和yum兩種安裝方式,常見Linux系統,一般至少支持其中一種。
其他常見系統下的Stunnel客戶端安裝請參考:
apt-get方式安裝。apt-get管理deb格式的軟件包,適用於Debian類操作系統,如Ubuntu。命令如下:
apt install stunnel 或apt-get install stunnel
如果命令執行後提示找不到Stunnel,可以嘗試執行apt update,更新配置後再安裝Stunnel。
yum方式安裝。管理rpm格式的軟件包,適用於Fedora、CentOS、Red Hat等操作系統。
yum install stunnel
其他通用方式安裝。Unix系統還可以直接下載Stunnel安裝包,編譯後安裝。前提是需要安裝gcc編譯環境,以及openssl-devel工具。安裝如遇到困難,可參考Stunnel官方網站的幫助。
下載並解壓Stunnel後,進入解壓目錄,執行以下命令編譯和安裝:
./configure;
make && make install;
安裝成功後,編輯/etc/default/stunnel4,將參數ENABLED設置爲1。
說明:
不同的Linux系統版本,配置文件名稱可能有差異,可在/etc/default/路徑下查找該文件。
... ENABLED=1 ...
打開配置文件。
stunnel配置文件名爲:stunnel.conf。配置文件可以存儲在任何路徑,在Stunnel啓動的時候指定改配置文件即可。
也可以按照Stunnel默認的方式新增配置文件:
說明:
如果不確定配置文件應該存儲在哪,可以在安裝後直接輸入stunnel命令,獲取文件路徑提示。
apt-get方式
路徑爲/etc/stunnel/stunnel.conf,如果路徑不存在或者路徑下無配置文件,可新增。
yum方式
默認路徑爲/usr/local/stunnel/stunnel.conf,如果路徑不存在或者路徑下無配置文件,可新增。
其他通用方式
路徑爲/usr/local/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證書,可選。如果需要,請根據查看緩存信息,進入到緩存實例詳情頁面下載該證書;如果不需要,此參數請刪除。
accept爲Stunnel監聽端口,可以自定義。Redis客戶端訪問緩存實例時填寫此端口。
connect爲Stunnel轉發地址與端口,此處填Redis緩存實例的IP地址與端口,即分別替換爲步驟1獲取的彈性IP地址和端口。
啓動stunnel服務。
啓動後可執行ps -ef|grep stunnel確認進程是否正常運行。
使用了Stunnel默認配置文件,則直接執行命令:
stunnel
自定義配置文件的路徑,則執行命令:
stunnel /{customdir}/stunnel.conf
其中/{customdir}/stunnel.conf爲自定義存儲路徑。
Ubuntu還可以使用 service stunnel4 start 或者systemctl start stunnel4。Stunnel4.x的版本,服務/進程名爲stunnel4。
執行以下命令,查看127.0.0.1:8000是否已經被監聽。
其中,8000替換爲6中accept字段配置的Stunnel監聽端口。
netstat -plunt |grep 8000|grep "LISTEN"
返回列表行中顯示有“127.0.0.1:8000”,表示stunnel客戶端正常運行。