2013-04-20 46 views
29

在redis.conf正常設置Redis的綁定多個IP

綁定127.0.0.1

我想Redis的聽另一個IP太(說我的地方發展地址)

我試圖

綁定127.0.0.1,123.33.xx.xx

但這不起作用。我無法在文檔中找到任何相關內容或使用Google搜索。希望有人能幫忙。

+0

正常設置是不是已經'bind'設置可言,這將使得Redis的綁定到所有接口。我不確定你是否可以讓它聽兩個(或更多)*特定*地址(它沒有記錄,它可以,AFAIK)。 – robertklep 2013-04-20 13:04:28

+0

我不知道,如果我得到的綁定權的含義,因此,如果一個離開註釋掉綁定線,它意味着任何人都可以連接到您的Redis服務器獲取內容? – spacemilkman 2013-04-20 14:33:10

+5

如果你需要它來監聽多個接口,只聽所有可能的,並使用防火牆來限制對服務的訪問。 – taro 2013-04-20 14:43:13

回答

3

我也試着找到答案,因爲它代表着,不可能做到這一點,我在搜索多個(但不是所有接口)上的答案時發現了這一點。這是什麼翻開了http://code.google.com/p/redis/issues/detail?id=497說明它不會被redis本身支持。

與haproxy一起使用,使得不可能一次性將其放在redis前面。您需要使用不同的端口,或者使用其他端口,或者選擇綁定在1個IP上。

3

你不能設置redis來偵聽特定的多個接口。如果需要多個接口,請刪除綁定行。

由於@taro指出使用防火牆來限制訪問。

12

時間:

- [Redis的2.8候選版本1(2.7.101)]發佈日期:2013年7月18日

可以:

  • [新]能夠綁定多個IP地址。

乾杯!

+0

這是很好的聽。非常感謝! – spacemilkman 2013-11-12 06:27:36

+1

這個答案實際上並不能解釋如何綁定到多個IP,它只是說現在可以。 – xxmicloxx 2015-10-18 11:11:10

24

從Redis 2.8開始,綁定到多個IP確實是可能的。只需用空格(而不是逗號)分隔每個IP。

bind 127.0.0.1 123.33.xx.xx 

Source: Official default config

+0

當我添加第二個IP地址,然後使用'sudo systemctl重啓Redis的-server.service'(Ubuntu的),然後我得到的是說'Redis的-server.service錯誤:啓動請求重複過quickly.'我不得不'stop' ,然後等待一會兒再調用'start'。 – Jens 2018-02-04 05:54:23

3

編輯:看來,正確的做法是,還是,只有一條線和一個或多個IP地址用空格隔開

這樣:

bind 127.0.0.1 10.150.220.121 
+1

這種變化是現在記錄,包括在配置文件中的一個例子:http://download.redis.io/redis-stable/redis.conf – 2016-10-18 02:46:26

3

此答案不是過時的,適用於舊版本和較新版本

理解的問題是,Redis綁定不是顯示客戶端機器的地址,但顯示了通過其建立連接的接口。在你的例子中,如果你的本地開發(客戶)地址是123.33.xx.xx,這並不意味着你必須把一個完全相同的地址作爲一個綁定,否則Redis服務將無法啓動。

所以你的Redis 服務器上,如果ifconfig機顯示您有類似這樣的一些網絡接口:

eth0 Link encap:Ethernet HWaddr 00:0c:... 
     inet addr:192.168.1.110 Bcast:192.168.1.255 Mask:255.255.255.0 

你可以把接口的地址192.168.1.110的結合和每個請求的Redis,通過這個接口的應用程序應該成功。