欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談Redis中bind的坑

 更新時間:2023年07月03日 11:40:09   作者:空間曲率驅(qū)動  
本文主要介紹了淺談Redis中bind的坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

今天在搭建Redis服務(wù)集群的時候,發(fā)現(xiàn)自己一直以來對Redis中bind的理解的一個誤區(qū)。

在今天以前,我一直認為Redis中的配置文件中的bind的作用是:用來限制Redis服務(wù)器用來接收來自哪些服務(wù)器(IP地址)的Redis連接請求。即:只有在bind指定的IP地址的計算機才可以訪問這個Redis服務(wù)器。(直到今天我才知道以上的理解都是錯誤

例如:

  • bind 127.0.0.1      就是用來限制只有本機可以連接redis服務(wù)連接
  • bind 0.0.0.0         就是用來允許任意計算機都可以連接redis服務(wù)連接。

注意:以上的理解都是錯誤的。他們正好是特例,對我們產(chǎn)生了一種錯覺。

不信的的話你們可以試一試:(最好試一試)

bind 10.0.0.1(或者除了127.0.0.1和0.0.0.0之外的任何IP地址)

然后重啟redis,就會發(fā)現(xiàn)啟動不起來。

錯誤提示

對于為什么啟動不起來,你們知道了bind的真正意思之后,就會明白啟動不起來的原因。

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

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

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

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

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

查看本地的網(wǎng)卡對應(yīng)的IP地址:使用ifconfig命令。

網(wǎng)卡對應(yīng)的IP地址

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

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

而是:bind用于指定本機網(wǎng)卡對應(yīng)的IP地址。

附注:

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

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

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

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

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

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

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

使用阿里云的安全組,來限制指定的主機連接6379端口。

redis中的【protected-mode】的理解:

redis本身無法限制【只有指定主機】連接到redis中,就像我上面說的一樣,bind指定只是用來設(shè)置接口地址(interfaces)。

1.如果你的bind設(shè)置為:bind 127.0.0.1,這是非常安全的,因為只有本臺主機可以連接到redis,就算不設(shè)置密碼,也是安全的,除非有人登入到你的服務(wù)器上。

2.如果你的bind設(shè)置為:bind 0.0.0.0,表示所有主機都可以連接到redis。(前提:你的服務(wù)器必須開放redis的端口)。這時設(shè)置密碼,就會多一層保護,只有知道密碼的才可以訪問。也就是任何知道密碼的主機都可以訪問到你的redis。

protected-mode是redis本身的一個安全層,這個安全層的作用:就是只有【本機】可以訪問redis,其他任何都不可以訪問redis。這個安全層開啟必須滿足三個條件,不然安全層處于關(guān)閉狀態(tài):

(1)protected-mode yes(處于開啟)

(2)沒有bind指令。原文:The server is not binding explicitly to a set of addresses using the "bind" directive.

(3)沒有設(shè)置密碼。原文:No password is configured。

這時redis的保護機制就會開啟。開啟之后,只有本機才可以訪問redis。 如果上面三個條件任何一個不滿足,就不會開啟保護機制。

到此這篇關(guān)于淺談Redis中bind的坑的文章就介紹到這了,更多相關(guān)Redis bind內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • CentOS系統(tǒng)安裝Redis及Redis的PHP擴展詳解

    CentOS系統(tǒng)安裝Redis及Redis的PHP擴展詳解

    這篇文章主要介紹了CentOS系統(tǒng)下安裝Redis數(shù)據(jù)的教程,以及詳解了Redis數(shù)據(jù)庫的PHP擴展,文中介紹的很詳細,相信對大家的理解和學習具有一定的參考借鑒價值,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • 分段存儲Redis鍵值對的方法詳解

    分段存儲Redis鍵值對的方法詳解

    Redis是一種開源的、基于內(nèi)存的數(shù)據(jù)結(jié)構(gòu)存儲系統(tǒng),它可以用作數(shù)據(jù)庫、緩存和消息中間件,Redis最常用的功能之一就是其鍵值對數(shù)據(jù)模型,本文介紹針對一個value過長的鍵值對,如何分段存儲,需要的朋友可以參考下
    2025-01-01
  • 詳解Redis如何處理Hash沖突

    詳解Redis如何處理Hash沖突

    在 Redis 中,哈希表是一種常見的數(shù)據(jù)結(jié)構(gòu),通常用于存儲對象的屬性,對于哈希表,最常遇到的是哈希沖突,那么,當 Redis遇到Hash沖突會如何處理?本文我們將詳細介紹Redis如何處理哈希沖突,需要的朋友可以參考下
    2024-09-09
  • Redis 中的熱點鍵和數(shù)據(jù)傾斜示例詳解

    Redis 中的熱點鍵和數(shù)據(jù)傾斜示例詳解

    熱點鍵是指在 Redis 中被頻繁訪問的特定鍵,這些鍵由于其高訪問頻率,可能導致 Redis 服務(wù)器的性能問題,尤其是在高并發(fā)場景下,本文給大家介紹Redis 中的熱點鍵和數(shù)據(jù)傾斜,感興趣的朋友一起看看吧
    2025-03-03
  • Redis內(nèi)存碎片產(chǎn)生原因及Pipeline管道原理解析

    Redis內(nèi)存碎片產(chǎn)生原因及Pipeline管道原理解析

    這篇文章主要為大家介紹了Redis內(nèi)存碎片產(chǎn)生原因及Pipeline管道原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Redis中的數(shù)據(jù)過期策略詳解

    Redis中的數(shù)據(jù)過期策略詳解

    這篇文章主要介紹了Redis中的數(shù)據(jù)過期策略,文中通過示例代碼介紹的很詳細,相信對大家的理解和學習具有一定的參考借鑒價值,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • redis限流的實際應(yīng)用

    redis限流的實際應(yīng)用

    這篇文章主要介紹了redis限流的實際應(yīng)用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Redis Cluster原理及配置詳解

    Redis Cluster原理及配置詳解

    這篇文章主要為大家介紹了Redis Cluster原理及配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 關(guān)于Redis未授權(quán)訪問漏洞利用的介紹與修復建議

    關(guān)于Redis未授權(quán)訪問漏洞利用的介紹與修復建議

    Redis是一個開源的使用ANSI C語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的API,下面這篇文章主要給大家介紹了關(guān)于Redis未授權(quán)訪問漏洞利用的介紹和修復建議,文中介紹的非常詳細,需要的朋友可以參考下。
    2017-07-07
  • Redis緩存異常之緩存雪崩問題解讀

    Redis緩存異常之緩存雪崩問題解讀

    文章主要介紹了緩存雪崩、擊穿和穿透問題,以及針對這些問題的解決方法,包括服務(wù)熔斷、服務(wù)降級、請求限流和布隆過濾器等
    2025-01-01

最新評論