Using SSL with redirects from non http causes redirect loop?

I recently setup letsencrypt with my site, and the SSL works perfectly. However, when I set Nginx to redirect HTTPS to HTTPS, I get a redirect loop where when you visit the website and refresh the URL changes back and forth from example.com to .

This is my configuration:

server { listen 80; server_name example.com return 301
}
server { listen 443 ssl; server_name example.com; root /var/www; index index.html; # ssl_certificate, etc... location / { try_files $uri $uri/ /index.html =404; }
}

What am I doing incorrectly here that causes the redirect loop?

2

1 Answer

Try to add ssl on; under the line listen 443 ssl; and disable disable SSLv3

server {
listen 80;
server_name example.com
listen 443 ssl;
ssl on;
server_name example.com;
ssl_certificate
ssl_certificate_key
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / { rewrite ^(.*) permanent;
}
...

Or you can also use return its way faster than rewrite in niginx location blocks:

location / { return ^(.*) permanent;
}

Once SSL Done You can test your ssl certificate at

To create chain certificate:

 cat bundle.crt > ssl_certificate ssl_certificate_key 
2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like