前言
在使用阿里雲和騰訊雲的redis 可以減少很大的維護量。但是在我們的業務場景中遇到了一個情況,阿里和騰訊的redis均不支持外網訪問。
因此,正好幫人解決一個問題,就拿出來分享一下。
阿呆的故事
阿呆是從事編程工作半年,一直使用阿里雲和騰訊雲。公司在要在全球部署服務器,由於運維成本高等問題,將所有服務采用了私有雲+公有雲的模式。
redis就架在了公有雲上,結果在部署到全球5個地區的時候,全球5個地區都無法訪問北京的redis。
阿呆的分析
阿呆的分析:
- 防火牆
- 公有雲的規則
- selinux
阿呆解禁了公有雲上的安全組規則,失敗;
后來幾次打聽才了解到redis不讓外網訪問。
阿呆的解決辦法
- 使用轉發方式
- 自建redis server
由於redis 要求可靠性很高,轉發可能會影響到性能,阿呆放棄了這種方式。
自建redis吧,自建redis,可是阿呆發現依然不行。同樣,放行了所有的網絡通信還是不行。
阿呆惆悵了
突然的發現
阿呆修改配置文件,遠程調試,內網訪問,N種辦法后,阿呆去樓下點了支煙,看了看外面的雲朵,阿呆有些想媽媽了。
突然靈感突現,會不會是IP地址的問題呢,阿呆打開一看,redis server的配置文件中:
bind 127.0.0.1 阿呆加上公網IP,可還是失敗,服務都沒辦法啟動了。
算了,不加了試試,注釋掉bind 127.0.0.1。啟動成功,外網訪問一下,外網訪問也成功了。