<div dir="ltr">Would be great to have this in the next nginx release, thanks Brandon!<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 18, 2015 at 4:31 PM, Brandon Black <span dir="ltr"><<a href="mailto:bblack@wikimedia.org" target="_blank">bblack@wikimedia.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
The Wikimedia Foundation has been running nginx-1.9.3 patched for<br>
multi-certificate support for all production TLS traffic for a few<br>
weeks now without incident, for all inbound requests to Wikipedia and<br>
other associated projects of the Foundation.<br>
<br>
We initially used the older March variant of Filipe's patches  (<br>
<a href="http://mailman.nginx.org/pipermail/nginx-devel/2015-March/006734.html" rel="noreferrer" target="_blank">http://mailman.nginx.org/pipermail/nginx-devel/2015-March/006734.html</a><br>
), and last week we switched to using the April 27 variant (<br>
<a href="http://mailman.nginx.org/pipermail/nginx-devel/2015-April/006863.html" rel="noreferrer" target="_blank">http://mailman.nginx.org/pipermail/nginx-devel/2015-April/006863.html</a><br>
), which is the last known public variant I'm aware of.<br>
<br>
These were in turn based on kyprizel's patch (<br>
<a href="http://mailman.nginx.org/pipermail/nginx-devel/2015-March/006668.html" rel="noreferrer" target="_blank">http://mailman.nginx.org/pipermail/nginx-devel/2015-March/006668.html</a><br>
), which was based on Rob's patch from nearly two years ago (<br>
<a href="http://mailman.nginx.org/pipermail/nginx-devel/2013-October/004376.html" rel="noreferrer" target="_blank">http://mailman.nginx.org/pipermail/nginx-devel/2013-October/004376.html</a><br>
).  It has a long and colorful history at this point :)<br>
<br>
We've forward-ported Filipe's Apr 27 variant onto Debian's 1.9.3-1<br>
package.  Most of the porting was trivial (offsets / whitespace /<br>
etc).  There were a couple of slightly more substantial issues around<br>
the newer OCSP Stapling valid-timestamp checking, and the porting of<br>
the general multi-cert work to the newer stream modules.  The<br>
ported/updated variant of the patches we're running is available here<br>
in our repo:<br>
<br>
<a href="https://github.com/wikimedia/operations-software-nginx/blob/wmf-1.9.3-1/debian/patches/" rel="noreferrer" target="_blank">https://github.com/wikimedia/operations-software-nginx/blob/wmf-1.9.3-1/debian/patches/</a><br>
<br>
Our configuration uses a pair of otherwise-identical RSA and ECDSA<br>
keys and an external OCSP ssl_stapling_file (certs are from<br>
GlobalSign, chain/OCSP info is identical in the pair).  Our typical<br>
relevant config fragment in the server section looks like this:<br>
<br>
------------<br>
ssl_certificate /etc/ssl/localcerts/ecc-uni.wikimedia.org.chained.crt;<br>
ssl_certificate_key /etc/ssl/private/ecc-uni.wikimedia.org.key;<br>
ssl_certificate /etc/ssl/localcerts/uni.wikimedia.org.chained.crt;<br>
ssl_certificate_key /etc/ssl/private/uni.wikimedia.org.key;<br>
ssl_stapling on;<br>
ssl_stapling_file /var/cache/ocsp/unified.ocsp;<br>
-------------<br>
<br>
Obviously, we'd rather get this work (or something similar) upstreamed<br>
so that we don't have to maintain local patches for this indefinitely,<br>
and so that everyone else can use it easily too.  I'm assuming the<br>
reason it wasn't merged in the past is there may be other issues<br>
blocking the merge that just weren't relevant to our particular<br>
configuration, or are just matters of cleanliness or implementation<br>
detail.<br>
<br>
I'd be happy to work with whoever on resolving that and getting this<br>
patchset into a merge-able state.  Does anyone know what the<br>
outstanding issues were/are?  Some of the past list traffic on this is<br>
a bit fragmented.<br>
<br>
Thanks,<br>
-- Brandon<br>
<br>
_______________________________________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a><br>
</blockquote></div><br></div>