Заметки про NGINX

1 мин

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

.htpasswd без apache-utils

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

Auth

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

SSL

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_dhparam /etc/nginx/dhparam.pem;

# HSTS (ngx_http_headers_module is required) (63072000 seconds)
add_header Strict-Transport-Security "max-age=63072000" always;

# OCSP stapling
ssl_stapling on;
ssl_stapling_verify on;

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