作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Debian GCP 实例,我正在尝试运行 Python gRPC 服务器。我的实例有一个静态 IP,我正在尝试在我的远程实例(服务器)和本地客户端之间建立一个安全通道。
我在服务器上生成了自签名 OpenSSL 证书,并且在客户端上使用了相同的证书。要生成我用过的:
openssl req -newkey rsa:2048 -nodes -keyout ML.key -x509 -days 365 -out ML.crt
我的服务器是这样设置的( .key 和 .crt 文件加载了
open
作为
'rb'
):
server_credentials = grpc.ssl_server_credentials(((private_key, certificate_chain,),))
self.server.add_secure_port('0.0.0.0:%d' % self.port, server_credentials)
self.server.start()
我的客户设置为:
host = '78.673.121.16' #this is the instance's static IP
port = 9063
certificate_chain = __load_ssl_certificate() #this loads the certificate file
# create credentials
credentials = grpc.ssl_channel_credentials(root_certificates=certificate_chain)
# create channel using ssl credentials
channel = grpc.secure_channel('{}:{}'.format(host, port), credentials)
然后我继续提出请求。
E1017 17:21:22.964227087 1881 ssl_transport_security.cc:1807] No match found for server name: 78.673.121.16.
我已尝试将证书的通用名称 (CN) 更改为
localhost
,
0.0.0.0
和
78.673.121.16
但无济于事。
最佳答案
我刚刚遇到了类似的问题,最后终于解决了。就我而言,我将服务器托管在具有静态 ip 和端口的 kubernetes 集群中。该解决方案的关键组件是(在服务器证书中):
from cryptography import x509
host = '78.673.121.16'
builder = x509.CertificateBuilder()
...
builder = builder.add_extension(x509.SubjectAlternativeName([x509.DNSName(host)]), critical=False)
关于ssl - 远程实例上的 Python 安全通道 gRPC 'ssl_transport_security.cc:1807] No match found for server name',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64405428/
我有一个 Debian GCP 实例,我正在尝试运行 Python gRPC 服务器。我的实例有一个静态 IP,我正在尝试在我的远程实例(服务器)和本地客户端之间建立一个安全通道。 我在服务器上生成了
我的服务器和客户端在同一台机器上。我的服务器在 Node.js 中,我的客户端在 PHP 中。我的服务器在 0.0.0.0:50053 上运行,我的客户端是 127.0.0.1:80。因此,我的客户端
我是一名优秀的程序员,十分优秀!