+ +

So now I can say my website is on.. even though it just literally has nothing but a printing hello +FirstWebsite.png

+

I got this garhve.com domain on namesilo for $9.95 per year, it’s really cheap! I always want a domain that is .com suffix.

+

Now, the web is https, this is a bit difficult for me.

+

Due to personal interest, I didn’t choose frame to base my website. I use Nginx but I don’t familiar with it. making it shows my content is not that difficult even that I don’t know much fancy state, but I stucked on SSL.

+

In order to use https instead of http, I choosed let’s encrypt, which is good for me and it’s free. However, I can only getting my non-www domain working. when it comes to www domain, it still http.

+

I found solutions all about using return to returning https, but it won’t work

+
server {
+    server_name www.garhve.com;
+	return 301 https://www.garhve.com$request_uri
+}
+

This would return me a 404 error…

+

After searching and searching, I found where i was getting wrong.

+

Above statement only return https-www which doesn’t hold any contents, all I need is to redirect the https-www to https-non-www.

+

So, change to this one

+
server {
+    listen 80;
+	server_name www.garhve.com garhve.com;
+	return 301 https://garhve.com$request_uri;
+}	# this block will redirect http-both to https-both
+
+server {
+    listen 443 ssl http2;	#http2 is newer and more secure http
+    listen [::]:443 ssl http2;
+  
+    server_name www.garhve.com;
+    include /path_to_cert_file;
+    return 301 https://garhve.com$request_uri;
+}	# this block will redirect https-www to https-non-www
+
+server {
+    listen 443 ssl http2;
+    listen [::]:443 ssl http2;
+  
+    server_name garhve.com;
+    include /path_to_cert_file;
+  
+    #location to real content
+}	# this block is where we hold web content.
+

It will redirect https-www to https-non-www. Now, both domain will point to same location – my home page.

+ +