首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >八卦加密不能正常工作

八卦加密不能正常工作
EN

Stack Overflow用户
提问于 2016-05-06 00:24:25
回答 1查看 321关注 0票数 1

我已经使用以下命令创建了一个主令牌:

代码语言:javascript
复制
$ consul keygen
G74SM8N9NUc4meaHfA7CFg==

然后,我使用以下config.json引导服务器

代码语言:javascript
复制
{
  "server": true,
  "datacenter": "consul",
  "data_dir": "/var/consul",
  "log_level": "INFO",
  "enable_syslog": true,
  "disable_update_check": true,
  "client_addr": "0.0.0.0",
  "bootstrap": true,
  "leave_on_terminate": true,
  "encrypt": "G74SM8N9NUc4meaHfA7CFg=="
}

引导服务器的输出如下所示:

代码语言:javascript
复制
     Node name: 'abcd'
    Datacenter: 'consul'
        Server: true (bootstrap: true)
   Client Addr: 0.0.0.0 (HTTP: 8500, HTTPS: -1, DNS: 8600, RPC: 8400)
  Cluster Addr: x.x.x.x (LAN: 8301, WAN: 8302)
Gossip encrypt: true, RPC-TLS: false, TLS-Incoming: false
         Atlas: <disabled>

然后,我添加了一个新服务器作为常规的consul服务器,它具有以下config.json

代码语言:javascript
复制
{
      "server": true,
      "datacenter": "consul",
      "data_dir": "/var/consul",
      "log_level": "INFO",
      "enable_syslog": true,
      "disable_update_check": true,
      "client_addr": "0.0.0.0",
      "bootstrap": false,
      "leave_on_terminate": true,
      "ui_dir": "/usr/local/bin/consul_ui",
      "check_update_interval": "0s",
      "ports": {
        "dns": 8600,
        "http": 8500,
        "https": 8700,
        "rpc": 8400,
        "serf_lan": 8301,
        "serf_wan": 8302,
        "server": 8300
      },
      "dns_config": {
        "allow_stale": true,
        "enable_truncate": true,
        "only_passing": true,
        "max_stale": "02s",
        "node_ttl": "30s",
        "service_ttl": {
          "*": "10s"
        }
      },
      "advertise_addr": "y.y.y.y",
      "encrypt": "G74SM8N9NUc4meaHfA7CFg==",
      "retry_join": [
        "x.x.x.x",
        "y.y.y.y"
      ]
    }

注意:这里x.x.x.x是引导服务器的IP地址,y.y.y.y是常规服务器的IP地址。

出于测试目的,我更改了其中一台服务器上的加密密钥。而且,当我执行consul members时,我仍然可以看到所有的I,这意味着即使使用不同的加密密钥,服务器仍然能够通信。八卦加密似乎不能很好地工作。

EN

回答 1

Stack Overflow用户

发布于 2016-05-07 02:48:09

Consul实例将缓存初始密钥并重用它。它存储在local.keyring文件中的serf文件夹中。

这是违反直觉的,但它是documented at least in one place together with the encrypt option

您需要删除此文件并重新启动Consul才能获得预期的行为。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37055546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档