我正在尝试连接两个服务 Web 和 DB (MySQL),使用安全中的教程使用 Consul Service Mesh 和 Envoy 进行服务通信 | Consul - HashiCorp 学习作为模型。
当我尝试从 Web 连接到 DB 时,在 Web 代理上看到以下行:
2021-04-07T20:56:29.207Z [ERROR] proxy.upstream: failed to dial: error="peer certificate mismatch got spiffe://b350502d-bd86-a715-6595-9260183bb7c2.consul/ns/default/dc/dc1/svc/web, want spiffe:///ns/default/dc/dc1/svc/db"
数据库代理上还有这一行:
2021-04-07T20:56:36.991Z [ERROR] proxy.inbound: connection failed: error=EOF
我使用这一行在网络上运行代理:
consul connect proxy -sidecar-for web
对于 DB,这一行:
consul connect proxy -sidecar-for db_service
答案1
我在另一个论坛上获得了帮助。
诀窍在于 DB consul 服务配置,配置上的服务地址指向 127.0.0.1,删除配置上的地址注册,一切都开始完美运行。