问题:
最近在golang 1.15+版本上,用 gRPC通过TLS实现数据传输加密时,遇到了一个问题:
原文:
2021/02/02 16:17:04 Call Route err: rpc error: code = Unavailable desc = connection error: desc = "transport: authentication field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0"
造成的原因是因为我用的证书,并没有开启SAN扩展(默认是没有开启SAN扩展)所生成的,所以在导致客户端和服务端无法建立连接, 所以我们要根据提示来解决这个问题:
按照提示所示,有2种方案可以解决:
方案一:设置 GODEBUG 为 x509ignoreCN=0
将go的 环境变量 GODEBUG 为 x509ignoreCN=0,但是我设置了,还是未成功,你们可以自己试下,是否能成功。
方案二:使用开启扩展SAN的证书
1. 什么是 SAN
SAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展。使用