Skip to content

Commit 8c8943c

Browse files
committed
ensure to pass hostname when doing an SSL request
1 parent befe2df commit 8c8943c

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/hackney_ssl.erl

+13-2
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,20 @@ connect(Host, Port, Opts) ->
127127

128128
connect(Host, Port, Opts0, Timeout) when is_list(Host), is_integer(Port),
129129
(Timeout =:= 5000 orelse is_integer(Timeout)) ->
130-
SSLOpts = proplists:get_value(ssl_options, Opts0),
130+
BaseSSLOpts = case inet:parse_address(Host) of
131+
{ok, _} -> [{reuse_sessions, true}];
132+
_ ->
133+
[{reuse_sessions, true},
134+
{server_name_indication, Host}]
135+
end,
136+
SSLOpts = hackney_util:merge_opts(
137+
BaseSSLOpts,
138+
proplists:get_value(ssl_options, Opts0)
139+
),
131140
BaseOpts = [binary, {active, false}, {packet, raw}],
132-
Opts1 = hackney_util:merge_opts(BaseOpts, proplists:delete(ssl_options, Opts0)),
141+
Opts1 = hackney_util:merge_opts(
142+
BaseOpts, proplists:delete(ssl_options, Opts0)
143+
),
133144
case hackney_happy:connect(Host, Port, Opts1, Timeout) of
134145
{ok, Sock} ->
135146
ssl:connect(Sock, SSLOpts);

0 commit comments

Comments
 (0)