Redirecting all calls to HTTPS to secure your site
Back in Chapter 4, All About SSLs, we covered installing and configuring an SSL certificate with NGINX. However, one thing we didn't cover was, ensuring that all calls to your site or application are always encrypted. This is especially critical if you're handling private data or payment information, which could be mandated by law to ensure the transmissions of the data is encrypted. Thankfully, enforcing HTTPS is simple to do.
How to do it...
Like our previous redirects, using two server
blocks is the most efficient method:
server { listen 80; server_name ssl.nginxcookbook.com; return 301 https://ssl.nginxcookbook.com$request_uri; } server { listen 443 ssl; server_name ssl.nginxcookbook.com; ssl_certificate /etc/ssl/public.pem; ssl_certificate_key /etc/ssl/private.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; access_log...