[Solved] Self-signed certificate makes my server not reachable over internet

You can get a Letsencrypt certificate using dns or http verification.

sudo certbot -d your.domain.tld --manual --preferred-challenges dns certonly