使用cpp-netlib Https服务器

时间:2013-12-11 17:03:34

标签: c++ https boost-asio cpp-netlib

如何使用cpp-netlib实现HTTPS服务器?

以下问题使我无法合并asio SSL和cpp-netlib:

  • 通过asio和cpp-netlib的SSL都使用监听端口的asio acceptor(例如80或443),然后使用单独的会话进行实际连接。

    我认为对于HTTPS:

    1. 您使用asio ssl acceptor
    2. 实例化连接
    3. 然后通过此连接执行SSL握手,最后
    4. 让cpp-netlib通过此连接提供HTTP
    5. 但是如何将cpp-netlib的HTTP连接处理程序与接受者分开?

    6. 或者是否从asio SSL连接传递了io_service?如果是这样,哪一个?或者它们都是一样的?

    7. 或者是否有完全不同的路线?

2 个答案:

答案 0 :(得分:8)

远景,但你尝试了以下几点:

  • #define BOOST_NETWORK_ENABLE_HTTPS
     在包括boost网络http客户端之前。

  • 确保OpenSSL在编译器路径中。

答案 1 :(得分:5)

cpp-netlib的最新版本包含一个工作示例。您可以在cpp-netlib-0.11.1RC2 / libs / network / example / http / ssl中找到它。 github文件在那里: https://github.com/cpp-netlib/cpp-netlib/tree/0.11-devel/libs/network/example/http/ssl

您必须使用async_server。