Cómo habilitar TLS SNI usando boost::beast

Primero incluye el header necesario:

enable_tls_sni_boostbeast.cpp
#include <openssl/ssl.h>

Una vez que hayas inicializado el boost::beast::ssl_stream, añade el siguiente código (con host siendo un std::string que contiene el nombre de host al que conectarse tal como api.ipify.org):

tls_sni_set_hostname.cpp
if(!SSL_set_tlsext_host_name(stream.native_handle(), host.c_str())) {
    beast::error_code ec{static_cast<int>(::ERR_get_error()), net::error::get_ssl_category()};
    throw beast::system_error{ec};
}

Fuente original: ejemplo oficial de cliente HTTPS de boost::beast


Echa un vistazo a artículos similares por categoría: Boost C/C++