zoukankan      html  css  js  c++  java
  • 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=
  • 相关阅读:
    nodejs express hi-cms
    写让别人能读懂的代码
    统计学和数据挖掘的关系
    假设检验
    相关性探索
    领域驱动设计分层类图
    未能加载文件或程序集 Ninject.Web.Common, Version=3.2.0.0
    论文阅读笔记
    《Computational Statistics with Matlab》硬译2
    C#抽象类和接口
  • 原文地址:https://www.cnblogs.com/zl1991/p/14609937.html
Copyright © 2011-2022 走看看