Actually the easiest way to handle the new options based on sni extention nowdays is to use the handshske_continue functionallity. I do not know if that works with cowboy. <div><br></div><div>Regards Ingela <br><br>onsdag 30 januari 2019 skrev Igor Clark <<a href="mailto:igor.clark@gmail.com">igor.clark@gmail.com</a>>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div dir="ltr"></div><div dir="ltr">Thank you both. I’ll see if I can try getting under the hood with just ssl.</div><div dir="ltr"><br></div><div dir="ltr">A bit surprised this hasn’t come up more often - I imagined people would want to host multiple names using cowboy pretty frequently! Not so, it seems?</div><div dir="ltr"><br></div><div dir="ltr">If I get anywhere with it I’ll post back.</div><div dir="ltr"><br></div><div dir="ltr">Thanks again,</div><div dir="ltr">Igor</div><div dir="ltr"><br>On 30 Jan 2019, at 11:32, Ingela Andin <<a href="mailto:ingela.andin@gmail.com" target="_blank">ingela.andin@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi!</div><div>Your exampel looks correct.  <br></div><div dir="ltr"><br></div><div>Here is another one<br></div><div dir="ltr"><br></div><div dir="ltr">{sni_hosts, <br> [{"a.server", [{certfile, "a_cert.pem"},<br>                {keyfile, "a_key.pem"},<br>                {keyfile, "a_key.pem"}<br>               ]},<br>  {"b.server", [{certfile, "b_cert.pem"},<br>                {keyfile, "b_key.pem"},<br>                {keyfile, "b_key.pem"}<br>               ]}<br> ]}</div><div dir="ltr"><br></div><div>If you want to know if the problem is with cowboy or ssl try calling ssl API without cowboy</div><div><br></div><div>Regards Ingela <br></div><div dir="ltr"><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Den ons 30 jan. 2019 kl 00:26 skrev Loïc Hoguin <<a href="mailto:essen@ninenines.eu" target="_blank">essen@ninenines.eu</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hey,<br>
<br>
As far as Ranch is concerned, the options are given directly to the ssl <br>
application. What Ranch does is tweak some default values (unrelated to <br>
ssl), remove some options like active or packet (same), and pass them <br>
forward. The types in the docs are there merely for documentation purposes.<br>
<br>
Afraid that's all the help I have.<br>
<br>
Cheers,<br>
<br>
On 28/01/2019 09:45, Igor Clark wrote:<br>
> Hi there,<br>
> <br>
> Does anyone have any examples of how to use sni_hosts correctly in <br>
> TransportOpts in cowboy:start_tls/3?<br>
> <br>
> I want to use different certs for respective diferent hostnames, and I'm <br>
> having trouble deciphering the docs as the definition seems spread <br>
> across cowboy, ranch and erlang:ssl. From what I can tell the underlying <br>
> erlang:ssl wants this:<br>
> <br>
> { sni_hosts, [ { hostname(), [ ssl_option() ] } ] }<br>
> <br>
> which seems like it should work like e.g.<br>
> <br>
> { sni_hosts, [ { "hostname1", [ { certfile, Certfile1 }, { keyfile, <br>
> Keyfile1 }, { cacertfile, CaCertFile1 } ] } ] }<br>
> <br>
> but when I add that directly to the TransportOpts in cowboy:start_tls/3 <br>
> alongside { port, Port } etc I just get bad_return. There are other <br>
> options that seem relevant e.g. server_name_indication but I'm finding <br>
> it tricky to piece it all together to make the right shape of <br>
> TransportOpts - I'm not clear whether the ssl_opts listed under the <br>
> ranch_ssl module docs <br>
> <<a href="https://ninenines.eu/docs/en/ranch/1.2/manual/ranch_ssl/" rel="noreferrer" target="_blank">https://ninenines.eu/docs/en/<wbr>ranch/1.2/manual/ranch_ssl/</a>> <wbr>are simply <br>
> passed through from erlang:ssl <<a href="http://erlang.org/doc/man/ssl.html" rel="noreferrer" target="_blank">http://erlang.org/doc/man/<wbr>ssl.html</a>> or <br>
> whether they're a ranch-specific subset, and either way how to structure <br>
> the proplist to configure Cowboy to serve multiple TLS names.<br>
> <br>
> Would very much appreciate any tips or examples!<br>
> <br>
> Thanks,<br>
> Igor<br>
> <br>
> ______________________________<wbr>_________________<br>
> erlang-questions mailing list<br>
> <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
> <a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a><br>
> <br>
<br>
-- <br>
Loïc Hoguin<br>
<a href="https://ninenines.eu" rel="noreferrer" target="_blank">https://ninenines.eu</a><br>
______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a><br>
</blockquote></div>
</div></blockquote></div></blockquote></div>