This is a simple answer, in order to connect a public domain with a server, it must be a public server with a public static IP.
or another way (which I don't prefer) is using a dynamic dns service.