21

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

以下问题阻止我结合 asio SSL 和 cpp-netlib:

  • 通过 asio 和 cpp-netlib 的 SSL 都使用asio 接受器来侦听端口(例如 80 或 443),然后为实际连接使用单独的会话。

    我假设对于 HTTPS:

    1. 您使用 asio ssl 接受器
    2. 哪个实例化一个连接
    3. 然后在这个连接上执行 SSL 握手,最后
    4. 让 cpp-netlib 通过此连接提供 HTTP

    但是我怎样才能将 cpp-netlib 的 HTTP 连接处理程序与接受器的用途分开呢?

  • 还是从 asio SSL 连接传递一个 io_service ?如果有,是哪一个?还是它们都一样?

  • 还是有完全不同的路线可供选择?

4

2 回答 2

8

远射,但您是否尝试过以下方法:

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

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

于 2014-03-31T17:17:43.120 回答
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。

于 2014-11-03T20:30:25.303 回答