>To connect all this together, our proxy hosts periodically query CertService for a list of recently modified custom domains. Each host then 1) fetches the new certificates from CertService, 2) writes them to disk, 3) regenerates a config like the one above, and 4) does a graceful restart of Apache. These restarts are staggered across our proxy pool so all but one of the hosts is available and receiving requests from…
How Etsy Manages HTTPS and SSL Certificates for Custom Domains on Pattern
11–20 of 23 posts
Re: How Etsy Manages HTTPS and SSL Certificates for Custom Domains on Pattern
#12I've googled this subject a number of times over the years and this seems to be the most thorough answer. Thanks for providing it! However, for a small startup (like mine), I think it's still a bit too much work to get this working. I know that there aren't any other "automated" options out there anyway. Perhaps one day. :)
Re: How Etsy Manages HTTPS and SSL Certificates for Custom Domains on Pattern
#13Congrats for them for supporting Let's Encrypt as an organization (it's not mentioned in the article it is in the comments here).
Re: How Etsy Manages HTTPS and SSL Certificates for Custom Domains on Pattern
#14I've googled this subject a number of times over the years and this seems to be the most thorough answer. Thanks for providing it! However, for a small startup (like mine), I think it's still a bit too much work to get this working. I know that there aren't any other "automated" options out there anyway. Perhaps one day. :)
Re: How Etsy Manages HTTPS and SSL Certificates for Custom Domains on Pattern
#15It's a good article, but it's a bit light on some of the technical points. We tried doing something similar about a decade ago (before the widespread adoption of SNI) and ran into the classic connected name/host header mismatch problem. Here, it's not explained that client has to have a way to suggest which certificate it's going to validate, and that there wasn't always an answer for that problem. Also curious to kn…
Re: How Etsy Manages HTTPS and SSL Certificates for Custom Domains on Pattern
#16>To connect all this together, our proxy hosts periodically query CertService for a list of recently modified custom domains. Each host then 1) fetches the new certificates from CertService, 2) writes them to disk, 3) regenerates a config like the one above, and 4) does a graceful restart of Apache. These restarts are staggered across our proxy pool so all but one of the hosts is available and receiving requests from…
[1]: https://github.com/openresty/lua-nginx-module/#ssl_certifica...
Re: How Etsy Manages HTTPS and SSL Certificates for Custom Domains on Pattern
#17>To connect all this together, our proxy hosts periodically query CertService for a list of recently modified custom domains. Each host then 1) fetches the new certificates from CertService, 2) writes them to disk, 3) regenerates a config like the one above, and 4) does a graceful restart of Apache. These restarts are staggered across our proxy pool so all but one of the hosts is available and receiving requests from…
I can't speak for Apache configurations, but on-the-fly cert lookup is possible in nginx using the lua_nginx module[1] - IIRC that feature was developed by Cloudflare, to power their SSL termination. [1]: https://github.com/openresty/lua-nginx-module/#ssl_certifica...
Re: How Etsy Manages HTTPS and SSL Certificates for Custom Domains on Pattern
#18Is't only me, or their initial reasoning ('it's pricey' and a screeenshot of a certificate being $1500+ when you can have it for less than $10) moves the focus of why Let's Encrypt it important - not that it's free, but that the ACME protocol gives you the freedom to generate certificates very easy, and have that setup process even easier for multiple (think all) services flawless. Congrats for them for supporting Le…
Re: How Etsy Manages HTTPS and SSL Certificates for Custom Domains on Pattern
#19Earlier quoted context omitted.
I can't speak for Apache configurations, but on-the-fly cert lookup is possible in nginx using the lua_nginx module[1] - IIRC that feature was developed by Cloudflare, to power their SSL termination. [1]: https://github.com/openresty/lua-nginx-module/#ssl_certifica...
I was also wondering about this. I would have put in the engineering effort to migrate to nginx (at least as a front-end proxy) from Apache for this. Seems like a lot of reloads that could be avoided (even doing graceful reloads in Apache gives me the willies).
This stuff is ancient but still works great.
Re: How Etsy Manages HTTPS and SSL Certificates for Custom Domains on Pattern
#20I've googled this subject a number of times over the years and this seems to be the most thorough answer. Thanks for providing it! However, for a small startup (like mine), I think it's still a bit too much work to get this working. I know that there aren't any other "automated" options out there anyway. Perhaps one day. :)
I'll be writing a blog post in the coming week and publishing it on HN regarding how we do it; its a simpler method I think, though we aren't the scale of Etsy yet, but should be useful for smaller startups to adopt.
Looking forward to seeing your work. Will definitely aim to provide feedback too!
(upvoted)