• 0 Posts
  • 2 Comments
Joined 2 days ago
cake
Cake day: February 9th, 2025

help-circle
  • Sure, so I use Caddy as a reverse proxy for all my subdomains, the public ones direct straight to whatever service(s) are on IP:port etc, then the private ones only allow private IP ranges of which one is my VPN subnet, therefore only allowing LAN and VPN access. I then also have a section for each of the private subdomains with Authelia authentication which is omitted here in the caddyfile example:

    (allowed) {
    	@allowed client_ip 192.168.1.0/24 192.168.10.0/24 192.168.20.0/28
    }
    
    sub.domain.com {
    	import allowed
    	handle @allowed {
    		reverse_proxy 192.168.80.8:8080
    	}
    
    	handle {
    		abort
    	}
    }
    

  • So among my services I self host, a few need to be publicly accessible for work. For those I wish to remain private, Caddy only allows private IP ranges, plus then Authelia as auth which is set to 30 days. There is then the login of each service behind Authelia as well. It’s as good as it needs to be for my needs.

    If I were only self hosting private services, then as others have said, I would put all access through a VPN.

    Edit: I should add that of course the private services are then only accessed via VPN to the router (part of the private IP ranges). Caddy as reverse proxy also obfuscates the subdomain names I use.