За время работы, собралось много мелких нюансов и шаблонов по Nginx, за котормыи лень лезть в документацию. Вот и решил собрать их в этой заметке. Не все сразу, буду дополнять по ходу дела.

Сгенерировать хэш для .htpasswd без apache-utils

echo user:$(openssl passwd -apr1 PASSWORD) >> .htpasswd

SSL

ssl on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;

Auth

auth_basic "Authorized personnel only.";
auth_basic_user_file /path/to/.htpasswd;

Let's Encrypt!

# ACME challenge
location ^~ /.well-known {
allow all;
alias /var/lib/letsencrypt/.well-known/;
default_type "text/plain";
try_files $uri =404;
}

Let's Encrypt on Ubuntu 14.04 LTS

https://launchpad.net/~certbot/+archive/ubuntu/certbot