Hey all. Ive been hosting some software for a while now, some private, some public stuff.
Recently ive gotten myself a domain name, and i’m trying to come up with a good way to have access to both the public AND the private on the same URL. Simpleton that i am i thought about putting the public in an inline frame with a banner with links at the top, but im sure there are better ways.
Any ideas how to do this from this community?
Edit : After all these comments, i stumbled upon Nginx. After some startup problems, i now have Nginx running in a docker on the same remote server. Plenty of questions left but most notably (and hereby clarified) : Is there something like a management page-thingy i can install that lets me manage the content of the various containers? Think sonarr, a torrent client, nginx, etc.
Not sure I fully understand your question or goal but you might benefit from setting up NAT reflection for your public stuff so when you are inside your nat you can still access everything with your external domain name like you are on the Internet. I see some people referencing split DNS also and that goes along with nat reflection.
https://docs.netgate.com/pfsense/en/latest/nat/reflection.html
There is a link to how you set it all up using pfsense.
Before I write a book. What are you using internally and externally for dns?
Everyone is suggesting cloud flare tunnels which can be easy to use but locks you into a proprietary service. If you want to self host everything, you can set it up yourself with a reverse proxy like traefik
You will end up with service.local.domain.com and service.domain.com for local only apps and internet facing apps, all using HTTPS.
If you are familiar with traefik, watch a tutorial on that first, then come back and watch the above video.
Here is an alternative Piped link(s): https://piped.video/liV3c9m_OX8
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source, check me out at GitHub.
Cloudflare tunnel is the simple answer here. Yourdomain.com points to the public instance, private.yourdomain.com points to the private instance. All you need to do is install cloudflared on any always on machine on your network and point the URLs to the internal IPs of the machines hosting the services.
The other suggestions here are fine but Cloudflare is the easiest solution to what you want plus it’s free and simple to setup and maintain.
So I run windows AD and have windows dns inside and cloudflare outside. I also run NPM for the web prox in my DMZ.
On the inside DNS I point the A record for NPMProxy.domain.com to the IP of my npm server. I than setup service1.domain.com inside npm to forward requests to the web server setup for service1. I than setup the CNAME record for service1.domain.com to point to NPMProxy.domain.com. This should complete your inside.
Outside I set the A record on cloudflare for service1.domain.com to my public IP address which will route again to NPM. This will complete the outside connectivity.
Make sure your firewall rules are set and proper ports open and you should be golden.