E0226 15:36:51.396000000 27004 src/core/tsi/ssl_transport_security.cc:1437] No match found for server name: 192.168.4.147.
在搭建gRPC C/S程序的时候, 需要测试局域网环境.
原本设置为localhost通信没问题, 但是设置为IP后出现了错误. 从Google没找到合理的解释. 但是从 简书 找到了.
里面描述了是因为gRPC 不支持IP作为主机地址, 只能在证书里面设置HOST为Domain然后自己走域名解析的渠道. 文章图文并茂, 写的很清晰, 但是刚开始没有搜到, 是因为错误信息不是很一致, 这里增加详细的错误打印信息.
E0226 15:36:51.396000000 27004 src/core/tsi/ssl_transport_security.cc:1437] No match found for server name: 192.168.4.147.
注: 客户端不会报告错误, 只有服务端程序会报告错误.
1. 生成SSL证书的时候, 证书中指定域名就可以了.
2. 客户端(PC端)在Host文件中添加自定义域名的解析, 保证客户端可以找到服务端的IP地址.
3. 同步替换服务端与客户端的证书.