<div dir="ltr">Hi Maxim,<div><br></div><div>Thanks for explaining why overloading ssl_protocols won't work. Since the problem is with how OpenSSL works, will it work if we use other openssl alternatives? I see people reporting boringssl and libressl work fine with nginx. Does nginx still need to be modified to support overloading ssl_protocols or is it just a matter of library switch?</div><div><br></div><div>Thanks!</div><div>Frank</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 19, 2017 at 5:36 AM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<span class=""><br>
On Thu, Jan 19, 2017 at 10:04:46AM +0100, B.R. via nginx wrote:<br>
<br>
> Hello,<br>
><br>
> I tried to overload the value of my default ssl_protocols (http block<br>
> level) in a server block.<br>
> It did not seem to apply the other value in this virtuel server only.<br>
><br>
> Since I use SNI on my OpenSSL implementation, which perfectly works to<br>
> support multiple virtual servers, I wonder why this SNI capability isn't<br>
> leveraged to apply different TLS environment depending on the SNI value and<br>
> the TLS directives configured for the virtual server of the asked domain.<br>
> Can SNI be used for other TLS configuration directives other than<br>
> certificates?<br>
><br>
> More generally, is it normal you cannot overload directives such as<br>
> ssl_protocols or ssl_ciphers in a specific virtual server, using the same<br>
> socket as others?<br>
> If positive, would it be possible to use SNI to tweak TLS connections<br>
> envrionment depending on domain?<br>
<br>
</span>You can overload ssl_ciphers.  You can't overload ssl_protocols<br>
because OpenSSL works this way: it selects the protocol used<br>
before SNI callback (and this behaviour looks more or less natural<br>
beacause the existance of SNI depends on the protocol used, and,<br>
for example, you can't enable SSLv3 in a SNI-based virtual host).<br>
<br>
In general, whether or not some SSL feature can be tweaked for<br>
SNI-based virtual hosts depends on two factors:<br>
<br>
- if it's at all possible;<br>
- how OpenSSL handles it.<br>
<br>
In some cases nginx also tries to provide per-virtualhost support<br>
even for things OpenSSL doesn't handle natively, e.g., ssl_verify,<br>
ssl_verify_depth, ssl_prefer_server_ciphers.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/" rel="noreferrer" target="_blank">http://nginx.org/</a><br>
______________________________<wbr>_________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx</a><br>
</font></span></blockquote></div><br></div>