Redirect All HTTP Requests to HTTPS for Nginx

nginx redirect http to https

To add redirect for all HTTP requests to HTTPS, we need to add Nginx Redirect rules to the nginx config file.
The server block for http requests should look like :

## our http server at port 80
server {
      listen default;
      ## redirect http to https ##
      rewrite        ^ https://$server_name$request_uri? permanent;

You should have another Server block for https requests, which shoudl look like :

## Our https server at port 443. You need to provide ssl config here###
server {
      access_log  logs/ main;
      error_log   logs/;
      index       index.html;
      root        /usr/local/nginx/html;
      ## start ssl config ##
      listen ssl;
     ## redirect www to nowww
      if ($host = '' ) {
         rewrite  ^/(.*)$$1  permanent;
    ### ssl config - customize as per your setup ###
     ssl_certificate      path/to/ssl/certificate.crt;
     ssl_certificate_key  path/to/certificate/private.key
     ssl_protocols        SSLv3 TLSv1 TLSv1.1 TLSv1.2;
     ssl_ciphers RC4:HIGH:!aNULL:!MD5;
     ssl_prefer_server_ciphers on;
     keepalive_timeout    70;
     ssl_session_cache    shared:SSL:10m;
     ssl_session_timeout  10m;
    ## PROXY backend
      location / {
        add_header           Front-End-Https    on;
        add_header  Cache-Control "public, must-revalidate";
        add_header Strict-Transport-Security "max-age=2592000; includeSubdomains";
        proxy_pass  http://exampleproxy;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

After making the changes in Nginx, test the new Nginx config by running the following command :

nginx -t

If this does not show any errors, restart nginx to bring the changes into effect :

service nginx restart
© 2022 WPOven Inc. All rights reserved. WPOven® and WordPress® are registered trademarks.
WPOven INC is more than just a managed WordPress Hosting that offers more secured unlimited website hosting with it’s CDN ready worldwide Datacentres.
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram