ACL未在领事中启用

Aje*_*han 8 amazon-web-services consul

我在一个实例上设置了领事.在web-ui完美运行,但ACL未启用.以前我没有任何配置文件,但现在我已经创建了一个包含以下内容的config.json文件/etc/consul.d/bootstrap/.

{
    "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
}
Run Code Online (Sandbox Code Playgroud)

比我运行以下命令

consul agent -server -bootstrap -data-dir/tmp/consul -ui-dir/home/ubuntu/dist/-client = XXXX

这里X.X.X.X是我的实例的私有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"
}
Run Code Online (Sandbox Code Playgroud)

/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"
}
Run Code Online (Sandbox Code Playgroud)

工作配置文件

{
    "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"
}
Run Code Online (Sandbox Code Playgroud)

现在运行以下命令

consul agent -config-dir ~/server -ui-dir ~/dist -bootstrap true -client=X.X.X.X
Run Code Online (Sandbox Code Playgroud)

小智 4

您的配置中缺少主令牌。如果加上这个,

"acl_master_token": "secret",并在 UI 中使用相同的令牌,您应该能够使用 ACL。

注意:如果您使用单个节点实例,请勿将该acl_token属性设置为与主令牌相同。这意味着任何有权访问 UI 的人都可以访问master token,基本上绕过了所有 ACL 规则。该属性只能在服务器节点上设置。

让它运行良好后,我创建了一个截屏视频来演示如何consul在单个服务器上进行设置。链接在这里