[英]ACL not getting enabled in consul
我在單個實例上設置了領事。 web-ui
運行良好,但未啟用ACL。 以前我沒有任何配置文件,但是現在我在/etc/consul.d/bootstrap/
創建了一個config.json
文件,內容如下。
{
"bootstrap": true,
"server": true,
"datacenter": "dc1",
"acl_datacenter": "dc1",
"data_dir": "/var/consul",
"encrypt": "consul keygen output",
"ca_file": "/etc/consul.d/ssl/ca.cert",
"cert_file": "/etc/consul.d/ssl/consul.cert",
"key_file": "/etc/consul.d/ssl/consul.key",
"verify_incoming": true,
"verify_outgoing": true,
"log_level": "INFO",
"enable_syslog": true
}
比我運行以下命令
領事代理-server -bootstrap -data-dir / tmp / consul -ui-dir / home / ubuntu / dist / -client = XXXX
其中XXXX
是我的實例的私有IP
但是沒有啟用ACL。
/etc/consul.d/server/config.json
{
"bootstrap": false,
"server": false,
"log_level": "DEBUG",
"enable_syslog": true,
"datacenter": "dc1",
"data_dir": "/var/consul",
"ui_dir": "/home/ubuntu/dist",
"acl_datacenter": "dc1"
"encrypt": "SECRET"
}
/etc/consul.d/server/config.json
{
"bootstrap": false,
"server": true,
"log_level": "DEBUG",
"enable_syslog": true,
"datacenter": "dc1",
"data_dir": "/var/consul",
"acl_datacenter": "dc1",
"acl_default_policy": "allow",
"encrypt": "SECRET"
}
工作配置文件
{
"bootstrap": true,
"server": true,
"log_level": "DEBUG",
"enable_syslog": true,
"datacenter": "dc1",
"addresses" : {
"http": "X.X.X.X"
},
"bind_addr": "X.X.X.X",
"node_name": "X.X.X.X",
"data_dir": "/tmp/consul",
"ui_dir": "~/dist",
"acl_datacenter": "dc1",
"acl_master_token": "secret",
"encrypt": "secret"
}
現在運行以下命令
consul agent -config-dir ~/server -ui-dir ~/dist -bootstrap true -client=X.X.X.X
您在配置中缺少主令牌。 如果添加此
"acl_master_token": "secret"
,並且在您的UI中使用相同的令牌,您應該能夠使用ACL。
注意:如果使用的是單節點實例,請不要將acl_token
屬性設置為與主令牌相同。 這意味着有權訪問UI的任何人都可以訪問master token
,而實際上繞過了所有ACL規則。 僅應在服務器節點上設置此屬性。
在使其正常運行之后,我創建了一個截屏視頻,以演示如何在單個服務器上設置consul
。 鏈接在這里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.