I got my hands on the LetsEncrypt beta and already testing it out. Incase it wasn’t obvious, if you have sites that are SSL only (I have a few subdomains which do not operate on http/port 80), you will need to set them up. Here is a quick example of how I adjusted my Nginx to only support the LetsEncrypt script, but make sure everyone else is https only.
server
{
listen 80;
listen [::]:80;
server_name sub.domain.com;
location /.well-known/acme-challenge
{
root /srv/sub.domain.com/public_html;
}
location /
{
rewrite ^(.*) https://$server_name$1 permanent;
}
}
And if it helps anyone, the relevant portion of the server setup with SSL
server
{
listen 443 ssl;
listen [::]:443 ssl;
server_name sub.domain.com;
root /srv/sub.domain.com/public_html;
ssl_certificate /etc/letsencrypt/live/sub.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/sub.domain.com/privkey.pem;
ssl_session_timeout 5m;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
Check your listen attributes. I’ve sometimes seen this cause things to not work and other times you need this in order for it to work (with IPv6). Do a configtest to make sure of your changes before restarting nginx.
