Tuesday, January 28, 2020

Enabled HTTP(s) on joymononline.in without any certificate cost

Some people still argue that encrypting web traffic is costly and reduce performance. But most of us agree that the site should be secured when comparing the performance cost against security. If there are still questions why a website should be secured, please visit the links

https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https
https://www.forbes.com/sites/forbestechcouncil/2018/05/18/why-an-ssl-certificate-is-important-for-your-company-website/#4fffd6c21dc3
https://kinsta.com/knowledgebase/how-ssl-works/

Earlier it was an additional cost to protect web site using an SSL certificate. But nowadays there are a lot of ways to get encryption without extra cost.

Difference ways for free SSL on GitHub pages

Before GitHub started officially supporting SSL on custom domains it was little complicated. One way was using other services such as Cloudflare. But the problem is that it adds one more component and a point of failure. So it is better to go with the GitHub approach itself.

My personal website joymononline.in is hosted in GitHub pages. So no cost for hosting. Only the domain registration needs money and it's done through GoDaddy. So both GitHub and the GoDaddy accounts have the changes to serve web site with HTTP. There is a separate post on how to serve a web site hosted in GitHub pages via a domain registered in GoDaddy.

Let's see how the HTTP(s) can be integrated into the mix.

Changes in GoDaddy

Updates to A records

Below are the existing records


The new IP addresses to point to new IPs

Changes in GitHub

No specific change required. Once the new DNS records are propagated we can see the site using https://joymononline.in address.
Once the site starts working, we may enforce HTTP(s) from GitHub so that even the HTTP traffic will be forced to use HTTP(s).

Troubleshooting

How bought my certificate?

If we have experience in setting up SSL earlier, this is an obvious question. Somebody had to buy or obtain the SSL certificate from an SSL authority. Here the certificate authority is Let's Encrypt.
GitHub did it for us.

Checking the IP address

In Windows, we can use the below command to find the latest IP address


More on free SSL

https://letsencrypt.org/getting-started/
https://www.sslforfree.com
https://www.udemy.com/free-ssl-certificate/

References

https://github.blog/2018-05-01-github-pages-custom-domains-https/
https://help.github.com/en/github/working-with-github-pages/securing-your-github-pages-site-with-https

No comments: