brpc开启https支持
官方github说明地址:https://github.com/apache/incubator-brpc/blob/master/docs/cn/server.md#%E5%BC%80%E5%90%AFssl
要开启SSL,首先确保代码依赖了最新的openssl库。如果openssl版本很旧,会有严重的安全漏洞,支持的加密算法也少,违背了开启SSL的初衷。然后设置ServerOptions.ssl_options
,具体见ssl_options.h(https://github.com/apache/incubator-brpc/blob/master/src/brpc/ssl_options.h)。
官方单测中这样写
baidu::rpc::CertInfo cert; cert.certificate = "cert1.crt"; cert.private_key = "cert1.key"; options.ssl_options.default_cert = cert; EchoServiceImpl echo_svc; ASSERT_EQ(0, server.AddService( &echo_svc, baidu::rpc::SERVER_DOESNT_OWN_SERVICE)); ASSERT_EQ(0, server.Start(port, &options));
可以直接填写证书和私钥的地址,就会自动读取。
测试请求脚本:
import requests ulr="https://127.0.0.1:1234/test" verify="../../cret6/ca.cert.pem" cert=('../../cret6/client.cert.pem', '../../cret6/client.key.pem') res = requests.get(url, data=json.dumps(demo), verify=verify) print res print res.text
因为使用的证书是自己生成的,需要在verify里加入ca根证书作验证,否则会报:tlsv1 alert unknown ca错误
联系方式:emhhbmdfbGlhbmcxOTkxQDEyNi5jb20=
分类:
网络
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2018-04-02 Protobuf学习 - 入门(转)