<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">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/ranch/1.2/manual/ranch_ssl/</a>> 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/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>
> _______________________________________________<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/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>
_______________________________________________<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/listinfo/erlang-questions</a><br>
</blockquote></div>