Redirecting HTTP to HTTPS on Heroku Cloud PaaS specially for Free account is not that easy for a beginner than it appears. There are some ways for redirection. We have published lot of articles, guide videos on Heroku PaaS. There are some theoretical aspects to know because actually Heroku is not like our tradition web server for choosing the way for redirecting HTTP to HTTPS on Heroku Cloud PaaS.
Redirecting HTTP to HTTPS on Heroku Cloud PaaS : Get Started
When you are thinking for redirecting HTTP to HTTPS on Heroku Cloud PaaS, it is definite that you know something about the basics of web server, DNS and server related things. Still, it might happen that you are a new user or you need to update your knowledge on a certain point. Here are the list of some related important articles, you can click to open in new window and read if you need :
- WordPress With SSL For Free With Heroku Cloud – Has important links to other Heroku related Articles.
- Custom Domain Name and Heroku Cloud – if you want to use a custom domain name (Free SSL certificate will not work and give a security prompt to the user)
- These are SSL related articles which might not include methods for Heroku Cloud but can give you some idea of SSL – SSL (Secure Sockets Layer) and TLS (Transport Layer Security) , An article on Extended Validation SSL Certificate (EV SSL), normally we install SSL certificate on own servers in this ways like mentioned on Installing Free SSL Certificate for Rackspace Cloud Server.
- There is a Heroku Cloud With Free SSL Video Guide too.
- As Heroku is a PaaS, the web folder is not the web folder it should be. We can change it with advanced setup – Specifying Webroot from Apache httpd File in Heroku Cloud Read more: Specifying Webroot from Apache httpd File in Heroku Cloud.
Redirecting HTTP to HTTPS on Heroku Cloud PaaS
Not redirecting will cause to show duplicate content. For example, actually this example named webpage can be reached in four ways (if SSL certificate is installed) :
---
- 1https://thecustomizewindows.com/example/
- 1http://www.thecustomizewindows.com/example/
- 1https://thecustomizewindows.com/example/
- 1https://www.thecustomizewindows.com/example/
This is not very desirable. See these :
1 | https://thawing-mountain-4350.herokuapp.com/ |
1 | http://thawing-mountain-4350.herokuapp.com/ |
The reason why the free account is showing yellow colored is because we opened it through Facebook Apps ! Otherwise it actually does not work in that way :
1 | https://salty-gorge-5565.herokuapp.com/ |
First way for redirecting HTTP to HTTPS on Heroku Cloud is to follow the way officially Heroku says :
1 | https://devcenter.heroku.com/articles/ssl |
But that is not all we wrote all these, we can redirect using Apache .htaccess, that is logically the easiest way or Apache virtual host configuration. But you have to build the mod_rewrite module either using our previous guides or using this repo :
1 | https://github.com/RandomEtc/heroku-www-redirect |
You can use PHP for example, to redirect as well :
Example 1 :
if(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == ""){
$redirect = “https://”.$_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’];
header(“Location: $redirect”);
}
Example 2 (inside php opening and closing) :
<!--http_redirect("relpath", array("name" =--> "value"), true, HTTP_REDIRECT_PERM);
Tagged With heroku redirect to https , heroku redirect website to https , heroku redirecting to https , http redirect heroku