Secure Consul与SSL不起作用

我正在设法确保领事与SSL。 我创build了自己的证书颁发机构(CA)cacert.pem,并为localhost创build了localhost.pem证书。 当前的工作目录如下所示。

certs/cacert.pem certs/localhost.pem config/config.json docker-compose.yml Dockerfile 

Dockerfile:

 FROM consul:0.7.5 ADD ./config /consul/config/ ADD ./certs /certs/ ENTRYPOINT ["/bin/consul", "agent", "-server", "-bootstrap-expect=1", "-ui", "-data-dir=/consul/data", "-client=0.0.0.0"] 

泊坞窗,compose.yml:

 version: "2" services: myconsul: image: myconsul:0.7.5 volumes: - /consul/data - /consul/config ports: - "8300:8300" - "8400:8400" - "8500:8500" - "8600:8600" - "8080:8080" command: agent -server -bootstrap-expect=1 -ui -client=0.0.0.0 

config.son:

 { "data_dir": "/consul/data", "config_dir": "/consul/config", "log_level": "INFO", "server": true, "addresses": { "https": "0.0.0.0" }, "ports": { "https": 8080 }, "cert_file": "/certs/localhost.pem", "ca_file": "/certs/cacert.pem" } 

我通过以下方式build立领事形象:docker build -t myconsul:0.7.5。 通过:docker-compose up -d运行consul容器

http://192.168.99.100:8500/工程,但如果我用本地主机replaceIP地址它不工作https://192.168.99.100:8080/不起作用

问题:

  1. 为什么http链接以locahlost不起作用?
  2. 我login到正在运行的容器并在预期的位置find了config.son,但是如何确保consul实际上正在读取configuration文件?
  3. 什么是在领事做SSL的正确方法?

任何人都可以帮忙 有什么地方可以发表这样的问题吗?

你几乎拥有它,只是:

1.-从config.json中删除“config_dir”:“/ consul / config”

2.-将一个key_file添加到config.json

3.-在docker-compose.yml中添加-config-dir = / consul / config(在命令结尾处)