consul單機模式ACL設定
最近專案提測被掃描出consul的安全問題,需要通過consul的acl設定來避免,組內用的單機版的cansul,參照了網上的一些部落格和官方文件一直沒有設定成功,設定完以後springboot服務一直起不來。幾乎快要放棄的時候發現了一篇部落格:https://www.cnblogs.com/xuf22/articles/12470071.html,參考了下這個部落格的操作,後面springboot服務就可以起來了,特此記錄一下。
consul版本:1.4 單機啟動./consul agent -server -ui -bootstrap-expect=1 -data-dir=data -node=consul -advertise="192.168.1.222" -bind="0.0.0.0" -client="0.0.0.0" -config-dir=conf
第一步:
啟動前先配置consul的配置檔案,增加配置檔案.
將檔案儲存在config-dir目錄下,acl.json
{ "datacenter":"dc1", "acl": { "enabled": true, //啟用acl "default_policy": "deny", //匿名不可訪問 "down_policy": "extend-cache", "tokens": { "master": "p2BE1AtpwPbrxZdC6k+eXA==" //根token,類似root密碼 } } }
第二步:
啟動consul,單機啟動,server同時具備client的功能:
類似這個
./consul agent -server -ui -bootstrap-expect=1 -data-dir=data -node=consul -advertise="192.168.1.222" -bind="0.0.0.0" -client="0.0.0.0" -config-dir=conf
第三步:
伺服器裡獲取新的token
curl
--request PUT
--header "X-Consul-Token:p2BE1AtpwPbrxZdC6k+eXA=="
--data
'{
"Name": "dc1", "Type": "management"
}'
第四步:
將consul的token配置在springboot的bootstrap配置檔案裡
第五步:
啟動springboot服務
第六步:
登入8500,輸入第三步獲取的token,可以看到新啟動的springboot服務已經註冊上了
且安全掃描通過。
耶!!!!!!!!!!!!!!
原來不太瞭解consul,硬啃了三天總算是解決了。要吐血了。