我使用 Consul 注册 Web 应用程序。 Web应用程序使用Java Consul客户端来注册检查。我可以使用自签名 CA 激活 TLS 和加密,以加密领事代理之间以及我的 web 应用程序和领事代理之间的交换。但我无法使用自签名 CA 签名证书检查 HTTPS。
我的 Web 应用程序是安全的,并且仅使用自签名证书侦听 HTTPS。当我向领事注册会话并提供 https://... URL 进行检查时,我被拒绝:
com.orbitz.consul.ConsulException:Consul 请求失败,状态为 [500]:rpc 错误:rpc 错误:检查“service:a4cHealthCheck:172.17.0.3”处于关键状态
在领事代理日志中,我可以看到:
2016/07/23 08:24:45 [WARN] agent: http request failed 'https://172.17.0.3:8443/rest/latest/health/check': Get https://172.17.0.3:8443/rest/latest/health/check: x509: certificate signed by unknown authority
领事代理似乎不接受自签名证书进行检查。如何仅针对检查禁用 SSL 验证或为检查提供信任者?
您可以使用该属性禁用 HTTPS 检查tls_skip_verify
。它在 HTTP 的部分中进行了描述领事检查文档 https://www.consul.io/docs/agent/checks.html。
如果您使用 JSON 文件来配置代理,以下是配置示例。
{
"services": [
{
"id": "instance-1",
"name": "ManagementService",
"address": "localhost",
"port": 11080,
"checks": [
{
"id": "api",
"name": "HTTP API",
"http": "https://localhost:11081/service/monitoring/ping",
"tls_skip_verify": true,
"interval": "5s",
"timeout": "1s"
}
]
}
]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)