1. 程式人生 > 實用技巧 >consul單機模式ACL設定

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"
}'

http://10.xxx.xxx.xxx:8500/v1/acl/create

第四步:
將consul的token配置在springboot的bootstrap配置檔案裡

第五步:
啟動springboot服務

第六步:
登入8500,輸入第三步獲取的token,可以看到新啟動的springboot服務已經註冊上了
且安全掃描通過。
耶!!!!!!!!!!!!!!
原來不太瞭解consul,硬啃了三天總算是解決了。要吐血了。