Redirect http to https

Have you ever installed an SSL certificate and cannot see your site redirecting to HTTPS protocol? This time I’m going to show you how to redirect from HTTP to HTTPS for any application using the technologies I’ll describe below.

Table of contents

First of all, you need to know what is an SSL certificate, how to install it, is it easy or really hard, we have compiled different methodologies to create it, please review our blog about it here: Install SSL Certificate tutorial.

Infographic Benefits SSL Certificate
Now, what are the benefits of using a SSL Certificate?
  • Better positioning on Search Engines (Google, Bing, Yahoo)
  • Extended security for your application
  • Encrypted communication between client and server
  • Build Trust with customers
  • Safe Browsing
Types of Certificates
  • Extended Validation Certificates:
  • Organization Validated Certificates.
  • Domain Validated Certificates.
  • Single Domain Certificates.
  • Wildcard SSL Certificate.
  • Multi Domain SSL Certificate:
  • Unified Communications Certificate
There are different options to obtain a FREE SSL Certificate:
Let's Encrypt
Let’s Encrypt

If you want to learn more about how to install any of these, please take a look at this post.

How to Redirect traffic from HTTP:// to HTTPS://

Using Cloudflare:

1. Make sure Cloudflare is enabled for your site.

Cloudflare Overview

2. On the Crypto section, make sure to mark the right option.


If you need FULL, Flexible or FULL Strict setting. You can find more information about its use cases here.

3. Scroll down on the Crypto session and look for this option to be enabled:


Doing this you won’t have the need to add anything on your server configuration on Apache or Nginx. This is a great way to do it as Cloudflare gets in charge of the proxy settings!

Using Apache:

  1. # Ensure that Apache listens on port 80
  2. <VirtualHost *:80>
  3. DocumentRoot “/www/example1”
  4. ServerName
  5. ServerAlias
  6. # Other directives here
  7. #Redirect to 443/HTTPS Protocol
  8. RewriteEngine On
  9. RewriteCond %{HTTPS} !=on
  10. RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
  11. </VirtualHost>
  13. <VirtualHost *:443>
  14. DocumentRoot “/www/example1”
  15. ServerName
  16. ServerAlias
  17. # Other directives here
  18. </VirtualHost>

Using htaccess:

  1. RewriteEngine On
  2. RewriteCond %{HTTPS} !=on
  3. RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

Using Nginx:

  1. server {
  2. #===============================
  3. # Redirect Configuration
  4. #===============================
  5. listen 80;
  6. server_name;
  7. return 301$request_uri;
  8. }
  10. server {
  11. #===============================
  12. # SSL Configuration
  13. #===============================
  14. listen 443;
  15. server_name;
  16. }

Obtaining a SSL certificate is not an option now. Is a must if you want your site to
obtain the different benefits that a SSL provides. On this blog I showed you how to obtain a certificate with 3 different entities and how to redirect your traffic to the SSL.

redirect all the traffic of yourwebsite to https


to our newsletter

Table of Contents

We Make DevOps Easier

Weekly DevOps Newsletter

Subscribe to our DevOps News

Subscribe to a monthly newsletter to receive the IT best practices, startup-related insights & emerging technologies.

Join hundreds of business leaders and entrepreneurs, who are part of our growing tech community.

We guarantee 100% privacy. Your information will not be shared.