{"id":3084,"date":"2018-04-12T15:49:45","date_gmt":"2018-04-12T07:49:45","guid":{"rendered":"https:\/\/slc4u.org\/learning\/?p=3084"},"modified":"2018-04-12T15:49:45","modified_gmt":"2018-04-12T07:49:45","slug":"3084-2","status":"publish","type":"post","link":"https:\/\/slc4u.org\/wp-new\/2018\/04\/12\/3084-2\/","title":{"rendered":"Securing website by installing SSL certificate"},"content":{"rendered":"<p>[show_post_categories show=&#8221;tag&#8221; hyperlink=&#8221;yes&#8221;]<\/p>\n<p><span style=\"font-weight: 400;\">A few months back I decided to consolidate the various domain names, web hostings and websites that I have. The key reason for this was economic. I realized that over the last 10 years while learning to \u201cplay\u201d with all these web-based \u201clearning toys\u201d of mine I had spent quite a lot. <\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Consolidation of domains as mini projects<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">One of the mini projects I had set myself to do was to move my blog (previously on theplantcloner.com which is being hosted till Oct 2018 by WordPress.com) to my web hosting under Mochahosting. \u00a0WordPress has a simple \u201cExport\u201d function to generate an XML file to carry almost all of the content of the blog. It has also a very simple \u201creversal\u201d feature for me to \u201cImport\u201d the content into the blog\u2019s new home, where you are reading this now, <\/span><a href=\"https:\/\/slc4u.org\/learning\"><span style=\"font-weight: 400;\">https:\/\/slc4u.org\/learning<\/span><\/a><span style=\"font-weight: 400;\">. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">My next mini project was to configure, \u201cbeautify\u201d and populate my blog\u2019s new home with features etc. which were denied me while the blog was hosted on my package with WordPress.com Then halfway on I realized that it would also be good to consolidate my key business websites (yup I have more than four websites!) into the same domain of <\/span><a href=\"https:\/\/slc4u.org\/\"><span style=\"font-weight: 400;\">slc4u.org<\/span><\/a><span style=\"font-weight: 400;\">. \u00a0This will surely streamline the work and present a more informative, \u201cone-site-find-all\u201d business website and blog. In addition, I could perhaps generate some business for my consultancy from traffic to my blog.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Blog\u2019s traffic slowed to near standstill post migration!<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">With the new self-hosted WordPress site done up for my blog, the time had come for me to make the final decision to move. Thus around mid March 2018, I started to \u201cwind down\u201d the previous blog hosting, having sorted out the issue of domain name transferring (that\u2019s another story to come!). Gradually, as I gained more confident of working with the \u00a0slc4u.org domain and the working of the self-hosted version of WordPress, I started to boost up the traffic to slc4u.org by telling my blog subscribers &amp; visitors of theplantcloner.com and visitors about the new location of my blog. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">WordPress.com took away all the pain of self-hosting of your blog using WordPress as the platform but there are two things that bugged me. Firstly, it has very restrictive in the selection of \u00a0themes and even less so for plugins. These make the blog was very \u201cvanila\u201d in its look and feel. Secondly, although WordPress.com provides the generic hosting free by treating your blog as a subdomain (i.e. <\/span><i><span style=\"font-weight: 400;\">yourblog<\/span><\/i><span style=\"font-weight: 400;\">.wordpress.com), to use a dedicated domain, one needs to register this domain with WordPress.com (the US$18 a year package that I was on is no longer available to new registrants, now it is more like US$48 per year). <\/span><\/p>\n<p><a href=\"https:\/\/wordpress.com\/pricing\/\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-3085\" src=\"https:\/\/slc4u.org\/learning\/wp-content\/uploads\/2018\/04\/2814d92c-355a-4a75-8a5d-7d83a9d6892e-1024x465.png\" alt=\"\" width=\"1024\" height=\"465\" srcset=\"https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/2814d92c-355a-4a75-8a5d-7d83a9d6892e-1024x465.png 1024w, https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/2814d92c-355a-4a75-8a5d-7d83a9d6892e-300x136.png 300w, https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/2814d92c-355a-4a75-8a5d-7d83a9d6892e-768x349.png 768w, https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/2814d92c-355a-4a75-8a5d-7d83a9d6892e-1200x545.png 1200w, https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/2814d92c-355a-4a75-8a5d-7d83a9d6892e.png 1338w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">While under WordPress.com\u2019s hosting, my blog, due to the tweaking, security and good search engine optimization, have a respectable number \u00a0daily visitors. However, once the switch was done, the flow of visitors, even to my most read piece dwindled down to zero!<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Being SSL certified is essential!<\/span><\/h3>\n<p><span style=\"font-weight: 400;\"> I tracked down the key reason for the drastic drop post-migrating \u00a0to the lack of Secure Socket Layer (SSL) and hence the \u201chttps\u201d feature of slc4u.org. I discovered that search engines are not too kind to unsecured sites (i.e, sites without SSL and hence the lack \u201chttps\u201d in their URL). People searching for my articles are just not able to find them. So it is a no brainer. I must get a SSL certificate and make sure that my site gets \u201chttps\u201d in all the URL. \u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">According to <\/span><a href=\"https:\/\/www.digicert.com\/ssl-certificate\/\"><span style=\"font-weight: 400;\">Digicert<\/span><\/a><span style=\"font-weight: 400;\">, \u201c<\/span><i><span style=\"font-weight: 400;\">Secure Sockets Layer (SSL) certificates, are used to establish an encrypted connection between a browser or user&#8217;s computer and a server or website. The SSL connection protects sensitive data, such as credit card information, exchanged during each visit, from being intercepted from non-authorized parties.<\/span><\/i><span style=\"font-weight: 400;\">\u201d \u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Thus without SSL certification on my site, traffic to it naturally would grind to a halt. I knew then SSL certification is a \u201cmust have\u201d for my site. I must learn how to get my site SSL certified!<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Trials and errors in getting SSL certification<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">I began to Google for \u201cSSL certificate\u201d and found out that most sources on the internet tell you that SSL certificates have to be purchased and nearly all point to some sources of SSL certificate vendors, most being domain name registration and web hosting companies . I was fortunate \u00a0to find out that Namesilo (where two of my domains were recently transferred and registered) provides information for its customers to<\/span><a href=\"https:\/\/www.namesilo.com\/Support\/Why-we-do-not-offer-SSL%2FTLS-certificates\"><span style=\"font-weight: 400;\"> obtain free SSL certificates<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><a href=\"https:\/\/www.namesilo.com\/Support\/Why-we-do-not-offer-SSL%2FTLS-certificates\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3086\" src=\"https:\/\/slc4u.org\/learning\/wp-content\/uploads\/2018\/04\/fff36a23-22f1-43e1-87d3-f7c8de868b21.png\" alt=\"\" width=\"953\" height=\"522\" srcset=\"https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/fff36a23-22f1-43e1-87d3-f7c8de868b21.png 953w, https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/fff36a23-22f1-43e1-87d3-f7c8de868b21-300x164.png 300w, https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/fff36a23-22f1-43e1-87d3-f7c8de868b21-768x421.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">While the instructions from Namesilo are very clear: you have two choices, one is <\/span><a href=\"https:\/\/letsencrypt.org\"><span style=\"font-weight: 400;\">Let\u2019s Encrypt<\/span><\/a><span style=\"font-weight: 400;\"> (but this must be made available by your web hosting provider, and \u00a0it should be easily installed with a few clicks); the other was <\/span><a href=\"https:\/\/www.cloudflare.com\/ssl\/\"><span style=\"font-weight: 400;\">CloudFlare<\/span><\/a><span style=\"font-weight: 400;\"> which offers free SSL certificates (but will require you to configure a rather complicated set of settings).<\/span><\/p>\n<h4><b>Let\u2019s Encrypt\u2019s confusing instructions &amp; CloudFlare\u2019s complicated configuration<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">My first reaction was to go with the first choice of Namesilo. So I visited Let\u2019s Encrypt\u2019s website to see what I had to do to get a free SSL certification for my website. Let\u2019s Encrypt gives a lot of information on how to <\/span><a href=\"https:\/\/letsencrypt.org\/getting-started\/\"><span style=\"font-weight: 400;\">get started<\/span><\/a><span style=\"font-weight: 400;\">. But there is a distinctive lack of clear and step-by-step instructions. You need to learn quickly (and decide quickly) whether your web hosting company grants you \u201cShell Access\u201d or not. After reading the entire webpage a few times, I was utterly confused (though by then I learned that I should have \u201cshell access\u201d). <\/span><\/p>\n<p><a href=\"https:\/\/www.cloudflare.com\/ssl\/\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-3087\" src=\"https:\/\/slc4u.org\/learning\/wp-content\/uploads\/2018\/04\/08274fa3-46c3-4beb-b41c-32fd84c1141e-1024x522.png\" alt=\"\" width=\"1024\" height=\"522\" srcset=\"https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/08274fa3-46c3-4beb-b41c-32fd84c1141e-1024x522.png 1024w, https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/08274fa3-46c3-4beb-b41c-32fd84c1141e-300x153.png 300w, https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/08274fa3-46c3-4beb-b41c-32fd84c1141e-768x391.png 768w, https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/08274fa3-46c3-4beb-b41c-32fd84c1141e.png 1201w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><span style=\"font-weight: 400;\">Off I went to explore Option 2, CloudFlare which have a very informative and step-by-step instructions for one to get hold of their free SSL certificate. Signing up was easy, I just have to use my Google login as my\u00a0<\/span><span style=\"font-weight: 400;\">credential. Getting an account with CloudFlare and starting the ball rolling was easy too.<\/span><\/p>\n<p><a href=\"https:\/\/www.cloudflare.com\/a\/add-property\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-3088\" src=\"https:\/\/slc4u.org\/learning\/wp-content\/uploads\/2018\/04\/3acbce81-4c90-48ca-93cb-c4ebfcd37f16-1024x511.png\" alt=\"\" width=\"1024\" height=\"511\" srcset=\"https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/3acbce81-4c90-48ca-93cb-c4ebfcd37f16-1024x511.png 1024w, https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/3acbce81-4c90-48ca-93cb-c4ebfcd37f16-300x150.png 300w, https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/3acbce81-4c90-48ca-93cb-c4ebfcd37f16-768x383.png 768w, https:\/\/slc4u.org\/wp-new\/wp-content\/uploads\/2018\/04\/3acbce81-4c90-48ca-93cb-c4ebfcd37f16.png 1135w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">You put in your website address, select the free plan and you are in. But tweaking with settings to configure CloudFlare to work with your website does require one to have a lot of knowledge of how domain names and internet traffic works. You need to change your domain name server to that of CloudFlare (which means that you need to have access to your domain name registration manager). Then you need to know how and where to configure other settings. As I am a bit adventurous with this sort of challenges, by trial and errors, eventually I managed to get CloudFlare\u2019s free SSL certification for my site. But when, as advised, I started work on putting the free SSL certificate onto my website\u2019s \u201chome\u201d server, things started to get messy. I ended up, after working on this for over four hours, giving up on this part of my configuration which I had to do on the control panel of Mochahosting (not the most friendly to those who are not expert users). One thing I noticed was, when CloudFlare free SSL certification was working well, because of the superb DNS server of CloudFlare compared to Mochohosting, my website was loading a lot faster, almost below 10 seconds. CloudFlare does have a feature for one to \u201cPause\u201d the working of all functions but the DNS server which could provide a different solution for those without a good DNS server from the \u201chome\u201d web hosting company. <\/span><\/p>\n<p><b>Spotted the \u201chidden Mickey\u201d<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Just as I was getting frustrated over my not able to fully configure CloudFlare on my website\u2019s server, I decided to take a look at Mochahosting\u2019s control panel again. \u00a0Hidden to the extreme right of the halfway down the home page, under the \u201cSecurity\u201d section was a small logo of Let\u2019s Encrypt. But there was no instruction on how to configure this to work on my website. I clicked the button to install Let\u2019s Encrypt\u2019s free SSL certificate on my site and did not know I should do next to activate the service! I then decided to put CloudFlare\u2019s SSL certification service on \u201cPause\u201d and see if I could let \u00a0Let\u2019s Encrypt provide the much needed \u201chttps\u201d feature for my website. While testing \u201c<\/span><a href=\"https:\/\/slc4u.org\/\"><span style=\"font-weight: 400;\">https:\/\/slc4u.org\/<\/span><\/a><span style=\"font-weight: 400;\">\u201d I faced the problem of \u00a0\u201cSSL handshake failed\u201d each time. Going back to the installation page of Let\u2019s Encrypt, I spotted a message to say that my attempt to install a SSL certificate failed but without a clue on what I did wrong with Let\u2019s Encrypt SSL certificate installation.<\/span><\/p>\n<p><b>Start all over again<\/b><\/p>\n<p><span style=\"font-weight: 400;\">I realized that there must be a conflict in having two SSL certificates for the same site, one provided via CloudFlare and the other via Let\u2019s Encrypt. It was time for me to start afresh and concentrate on only one SSL certification service at a time. I deleted all the SSL certificates from my site and went back to restart CloudFlare\u2019s SSL \u201cengine\u201d. \u00a0The many different configurations that I had tried could not to solve the \u201cSSL handshake failed\u201d problem. I knew then I had to abandon CloudFlare and try my luck again with Let\u2019s Encrypt, starting with a clean slate again. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">But before going back to the control panel of Mochahosting, I Googled \u201cSSL certification WordPress\u201d to see if there are any plugins that I can install on WordPress which will do the job of configuring an SSL certificate on my site without my having to worry about what to do with all those settings (as in CloudFlare\u2019s case). I found a few such plugins exist but the one that appealed to me, I think because of its name, was <\/span><a href=\"https:\/\/wordpress.org\/plugins\/really-simple-ssl\/\"><span style=\"font-weight: 400;\">Really Simple SSL<\/span><\/a><span style=\"font-weight: 400;\"> I decided that I should try this plugin after I had a working SSL certificate installed successfully on my website. \u00a0<\/span><\/p>\n<h4><strong>Got https:\/\/slc4u.org to work, finally!<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">I went back to Mochahosting\u2019s control panel to re-install Let\u2019s Encrypt\u2019s free SSL certificate, this time only limiting myself to my domain, slc4u.org and ignoring the other variants that popped up (all of which I included in the previous attempt on SSL certification). And viola! At last, I got a working SSL certificate installed on my website.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The next step for me was to install Really Simple SSL on my WordPress installation which runs my website (and this blog). The plugin, true to its name, was very simple to install, activate and configure. After testing with a few different browsers, both on the laptop computer and my Android phone, I was satisfied that I finally had \u201chttps\u201d switched on for my website. However, the loading time of my website was over 1 minute long. It must be the DNS server of CloudFlare which I was still using (I only \u201cPaused\u201d its service whereby CloudFlare\u2019s DNS server still worked in directing traffic to my website). A restoration to Mochashost\u2019s DNS settings quickly solved this final problem. I now truly have a functional \u201chttps\u201d url for my website!<\/span><\/p>\n<p><span style=\"font-weight: 400;\">All I need is to see if there is a resumption of traffic to my website, at least to the average level when my blog was hosted by WordPress.com under the domain name of theplantcloner.com (which is now redirecting all traffic to slc4u.org).<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>SSL certificate is essential for any website. This piece provides an account on how to get a free SSL certificate from either CloudFlare or Let&#8217;s Encrypt. Namesilo is great is providing information on free SSL certification. Mochashosting has Let&#8217;s Encrypt in its control panel that, with a bit of tweaking can install a free SSL certificate. CloudFlare has great DNS server but its the configuration of its free SSL certification is very challenging.<\/p>\n","protected":false},"author":1,"featured_media":3089,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3,4],"tags":[79,119,122,251,290,439,440,490,533],"class_list":["post-3084","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-learning","category-others","tag-cloudflare","tag-dns-server","tag-domain-names","tag-lets-encrypt","tag-mochashosting","tag-ssl","tag-ssl-certificate","tag-traffic","tag-web-hosting"],"_links":{"self":[{"href":"https:\/\/slc4u.org\/wp-new\/wp-json\/wp\/v2\/posts\/3084","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/slc4u.org\/wp-new\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/slc4u.org\/wp-new\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/slc4u.org\/wp-new\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/slc4u.org\/wp-new\/wp-json\/wp\/v2\/comments?post=3084"}],"version-history":[{"count":0,"href":"https:\/\/slc4u.org\/wp-new\/wp-json\/wp\/v2\/posts\/3084\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/slc4u.org\/wp-new\/wp-json\/wp\/v2\/media\/3089"}],"wp:attachment":[{"href":"https:\/\/slc4u.org\/wp-new\/wp-json\/wp\/v2\/media?parent=3084"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/slc4u.org\/wp-new\/wp-json\/wp\/v2\/categories?post=3084"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/slc4u.org\/wp-new\/wp-json\/wp\/v2\/tags?post=3084"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}