gRPC Python 学习笔记三: SSL加密

captain5339 2022-12-10 23:07:25

gRPC的服务器可能部署在 Internet 云端,那么客户机与服务器之间的明文通信存在安全隐患,gRPC提供了SSL/TLS方式对传输的数据进行加密是必要的。 

下面用实例代码呈现这个过程:

## 准备工作
事先准备好 root,private, 以及chain证书。 把 private.pem 与 chain.pem 拷贝到服务器。证书可以采用OpenSSL自签名来生成(请自行百度),或者到网上证书机构申请CA证书。 

##  gRPC 客户端
```python
import grpc
import helloworld_pb2

with open('roots.pem', 'rb') as f:
    creds = grpc.ssl_channel_credentials(f.read())
channel = grpc.secure_channel('myservice.example.com:443', creds)
stub = helloworld_pb2.GreeterStub(channel)
更多,请点击阅读

...全文
97 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
captain5339 2022-12-10
  • 打赏
  • 举报
回复

如果数据量比较大用RESTFul,WebSocket 性能都比gRPC差了很多, 用 python 写gRPC的服务端与客户端,总体性能还是不错的,如果gRPC服务端是其它语言写的,用 python写 gRPC 客户端。 由于gRPC的应用,对整个系统的性能提升还是很明显的,让python在微服务架构中可能发挥更大作用,特别是python的异步gRPC功能在中低端机器上的性能表现反而比其它语言有优势。 因此gRPC对python在企业应用上的推广有很大的作用。

12,041

社区成员

发帖
与我相关
我的任务
社区描述
创建由Python学习者和社区专家组成的国内最大的第三方Python中文社区,帮助社区成员更好地入门学习、职业成长和应用实践
python学习 企业社区
社区管理员
  • Python全栈技术社区
  • Lumos_zbj
  • 北侠大卫
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

创建由Python学习者和社区专家组成的国内最大的第三方Python中文社区,帮助社区成员更好地入门学习、职业成长和应用实践

  • 这里有最新最全的 Python 学习内容及资源,每月多达4次技术公开课
  • 这里有众多 Python 学习者,陪伴你一起交流成长
  • 这里有专业 Python 社区专家、讲师,帮助你跨越学习瓶颈,解决实操难题
  • 这里有丰富的社区活动,可以开阔眼界,结识更多同伴

【最新活动】:

  1. 周四技术公开课讲师招募中,点击查看详情
  2. “Python 社区专家团” 招募中,点击查看详情

 

试试用AI创作助手写篇文章吧