Update WebSocket examples to set TLS SNI

This commit is contained in:
Richard Hodges
2020-08-28 13:26:22 +02:00
parent bc1fc65d7e
commit a35cd32005
5 changed files with 40 additions and 1 deletions
@@ -70,6 +70,14 @@ int main(int argc, char** argv)
// Make the connection on the IP address we get from a lookup
auto ep = net::connect(get_lowest_layer(ws), results);
// Set SNI Hostname (many hosts need this to handshake successfully)
if(! SSL_set_tlsext_host_name(ws.next_layer().native_handle(), host.c_str()))
throw beast::system_error(
beast::error_code(
static_cast<int>(::ERR_get_error()),
net::error::get_ssl_category()),
"Failed to set SNI Hostname");
// Update the host_ string. This will provide the value of the
// Host HTTP header during the WebSocket handshake.
// See https://tools.ietf.org/html/rfc7230#section-5.4