公網通過代理訪問阿里雲vpc redis


前提條件

如果您需要從本地 PC 端訪問 Redis 實例進行數據操作,可以通過在 ECS 上配置端口映射或者端口轉發實現。但必須符合以下前提條件:

  • 若 Redis 實例屬於專有網絡(VPC),ECS 必須與 Redis 實例屬於同一個 VPC。

  • 若 Redis 實例屬於經典網絡,ECS 必須與 Redis 實例屬於同一節點(地域)。

  • 若 Redis 實例開啟了 IP 白名單,必須將 ECS 的內網地址加入白名單列表內

ECS Linux 篇

目前雲數據庫 Redis 版需要通過 ECS 進行內網連接訪問。如果您本地需要通過公網訪問雲數據庫 Redis,可以在 ECS Linux 雲服務器中安裝 rinetd 進行轉發實現。

  1. 在雲服務器 ECS Linux 中安裝 rinetd。

    1. wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd
    2. sed -i 's/65536/65535/g' rinetd.c (修改端口范圍)
    3. mkdir /usr/man&&make&&make install

    注意:rinetd 安裝包下載地址不確保下載可用性,您可以自行搜索安裝包進行下載使用。

  2. 打開配置文件 rinetd.conf。

    1. vi /etc/rinetd.conf
  3. 在配置文件中輸入如下內容:

    1. 0.0.0.0 6379 Redis 的鏈接地址 6379
    2. logfile /var/log/rinetd.log

    說明:您可以使用 cat /etc/rinetd.conf命令來檢驗配置文件是否修改正確。

  4. 執行如下命令啟動 rinetd。

    1. rinetd

    注意

    • 您可以通過 echo rinetd >>/etc/rc.local 將 rinetd 設置為自啟動。

    • 若遇到綁定報錯,可以執行 pkill rinetd 結束進程,再執行 rinetd啟動進程 rinetd。

    • rinetd 正常啟動后, 執行netstat -anp | grep 6379 確認服務是否正常運行。

    netstat 驗證

  5. 在本地進行驗證測試。

    1. 您可以在本地通過 redis-cli 連接 ECS Linux 服務器后進行登錄驗證,比如安裝了 rinetd 的服務器的 IP 是 1.1.1.1,redis-cli -h 1.1.1.1 -a Redis的實例ID:Redis密碼或者通過 telent 連接 ECS Linux 服務器后進行操作驗證。假設 ECS Linux 服務器的 IP 是 1.1.1.1,即 telnet 1.1.1.1 6379

    2. 連接上 ECS Linux 服務器后,輸入連接 Redis 的密碼:auth Redis的連接密碼

    3. 進行數據寫入及查詢驗證。

      本地驗證

通過上述步驟即可實現:您本地的 PC 或服務器通過公網連接 ECS Linux 6379 端口,對雲數據庫 Redis 進行訪問。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM