How to secure your website with Nginx and Let's Encrypt
blog.shir0.fr
blog.shir0.fr
Of course, there are still plenty of reasons to use Nginx, so documentation like this is great. But speaking as someone who had Nginx with LE set up and migrated over to Caddy some months ago, it's a lot simpler to manage my server (and especially set up new virtual hosts) now.
Update: Looks like you can skip the marketing site and use the https://github.com/mholt/caddy#install version for commercial projects (Apache 2.0).
You mean, for free. (I'm not sure why businesses would expect that their critical software be free?) We sell commercial licenses of the binaries that of course allow commercial use. Or you can, as you said, build from source if you prefer to do that. The source code is Apache-licensed.
Note that when you create a new vhost in Caddy it automatically gets LE support. No need to update your crontab to pass the new domain to certbot.
A reason not to use Caddy is significantly reduced performance as compared to Nginx.
And Caddy's faster than you think -- "significantly reduced performance" is an overgeneralization. Caddy may happily serve tens of thousands of requests per second. (It all depends on, well, a lot of things.)
https://certbot.eff.org/all-instructions/#ubuntu-16-10-yakke...
I anxiously await it as it's easier to deal with the nginx plugin when you've already got nginx running for other reasons, rather than having to disable your existing webserver.
Not thrilled about having to temporarily allow http, but c'est la vie.
I wonder why we can't just have an https-based known-file challenge that works exactly like the http one, but over https, and just accepts whatever cert you throw at it initially.
This method was called HTTPS-01 and was initially discussed at the IETF ACME WG. My recollection is that it was rejected for a reason similar to why TLS-SNI-01 has just been disabled: many hosting providers' practices would designate one customer as the default HTTPS virtual host for all incoming HTTPS requests. Therefore, that customer would be in a position to get a certificate for any other customer on that infrastructure. This problem was easier to notice for HTTPS-01 than the corresponding problem with TLS-SNI-01 (which is that you can upload invalid certificates for names that aren't hosted on the infrastructure at all, and thereby get some shared hosting environments to believe that they're third-party certificates for your own sites that you've imported from elsewhere, while they're actually ACME challenge certificates for a different customer on the same infrastructure).
Well, not for nothing as I now know better.
It uses webroot + certbot for zero downtime deployment, and provides neater error pages. Also gets an A+ on https://www.ssllabs.com/ssltest/ .
Hopefully it's useful to someone.
An alternative to LetsEncrypt is to sign up for Cloudflare's free tier. You get free SSL (using their shared certificate) and a bunch of other goodies. I have a couple of sites hosted on GitHub Pages using Cloudflare, so I have SSL and hosting at zero cost. Hard to beat that price!
Not necessarily - GitHub pages serves up HTTPS so you can be HTTPS all the way down the line
But then you have to install and renew that cert on your origin.
Turtles all the way down.