Redis中bind的正確配置


對於Redis中bind的正確的理解是:

bind:是綁定本機的IP地址,(准確的是:本機的網卡對應的IP地址,每一個網卡都有一個IP地址),而不是redis允許來自其他計算機的IP地址。

如果指定了bind,則說明只允許來自指定網卡的Redis請求。如果沒有指定,就說明可以接受來自任意一個網卡的Redis請求。

 

舉個例子:如果redis服務器(本機)上有兩個網卡,每一個網卡對應一個IP地址,例如IP1和IP2。(注意這個IP1和IP2都是本機的IP地址)。

我們的配置文件:bind IP1。  只有我們通過IP1來訪問redis服務器,才允許連接Redis服務器,如果我們通過IP2來訪問Redis服務器,就會連不上Redis。

 

查看本地的網卡對應的IP地址:使用ifconfig命令。

 

從上面看出我們有兩個網卡,也就是我們只能使用:127.0.0.1和172.18.235.206最為bind的地址,不然redis啟動不起來。

這就說明了上面例子(bind 10.0.0.1)為什么啟動不起來,因為我們沒有對應的網卡IP地址。這就說明了bind並不是指定redis中可以接受來自哪些服務器請求的IP地址。

而是:bind用於指定本機網卡對應的IP地址。

附注:

bind 127.0.0.1的解釋:(為什么只有本機可以連接,而其他不可以連接)

我們從ifconfig可以看出:lo網卡(對應127.0.0.1IP地址):是一個回環地址(Local Loopback),也就是只有本地才能訪問到這個回環地址,而其他的計算機也只能訪問他們自己的回環地址。

那么來自這個lo網卡的計算機只有本機,所以只有本機可以訪問,而其他計算機不能訪問。

 

bind 172.18.235.206的話,只要通過這個網卡地址(172.18.235.206)來的Redis請求,都可以訪問redis。我使用的阿里雲的服務器。我在另一個服務器上去請求              redis-cli 阿里雲公網IP地址        就會連接到redis服務器。

因為公網地址的請求:都是經過這個eth0的網卡地址(172.18.235.206),從而接收到這個redis請求。

 

當你們不使用那個回環地址,基本上外部的計算機都可以訪問本機的Redis服務器。

 

如果我們想限制只有指定的主機可以連接到redis中,我們只能通過防火牆來控制,而不能通過redis中的bind參數來限制。

使用阿里雲的安全組,來限制指定的主機連接6379端口。
---------------------
作者:cw_hello1
來源:CSDN
原文:https://blog.csdn.net/cw_hello1/article/details/83444013

 

目前采用的方式,代碼和Linux中的redis客戶端都可以使用

  1.在bind中配置多個IP地址,bind 內網ip 127.0.0.1(推薦)

 

  2.將bind的值配置為bind 0.0.0.0


免責聲明!

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



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