I unsuccessfully tried to access my system from internet, by registering Dynamic DNS in No-IP, Port-forwarding in my TP-Link router etc. You can find more info here.
But without any all those headaches I could reach the Apache httpd running in my system with ngrok by using a single command,
ngrok http http://localhost:8080
And I can access that with below URL (The URL may not work if I stop the terminal session, but again I can get a new URL by running the same command.).
https://ce41-103-228-222-115.ngrok-free.app
Now, what I'm not understanding is, even with all the necessary port-forwarding and Dynamic public IP and Dynamic DNS I couldn't reach my system and how ngrok achieved that without any of them?
Can someone with strong understanding of network help me understand this?
Thank you.