2017-10-21 141 views
0

我已經在應用程序負載平衡器後面使用Amazon ECS部署了一個redis容器。看起來健康檢查失敗了,儘管容器正在運行並準備好接受連接。這似乎是失敗的,因爲健康檢查是HTTP,並且redis當然不是http服務器。使用ALB健康檢查redis容器

# Possible SECURITY ATTACK detected. It looks like somebody is sending 
POST or Host: commands to Redis. This is likely due to an attacker 
attempting to use Cross Protocol Scripting to compromise your Redis 
instance. Connection aborted. 

不夠公平。

經典的負載均衡器我認爲這樣會很好,因爲我可以明確地ping通TCP。用ALB使用redis可行嗎?

+0

您能否更詳細地解釋爲什麼要在負載均衡器後面運行Redis?通常,如果您在一組Redis節點之間進行權衡,那麼在這種情況下,您可以在Redis客戶端執行此操作,而不是使用負載均衡器。 –

+0

@AndyShinn我不需要負載平衡,但我想要一個靜態點訪問redis實例,所以我可以將它傳遞給Web應用程序配置。負載平衡器dns完成了這一點。動態端口映射對於在單個羣集中部署多個非生產redis實例非常有用。 – bluescores

回答

0

將您的運行狀況檢查更改爲協議HTTPS。所有Amazon負載均衡器都支持這一點。您的健康檢查越接近用戶訪問得越好。檢查HTML頁面比TCP檢查更好。檢查需要後端服務響應的頁面會更好。即使您的Web服務器沒有提供頁面,TCP有時也會成功。