Jump to content

Caddy

From Khalidi

Caddy er en proxytjeneste. Sammen med DNS sørger proxytjenester for at vi kan bruke vanlige URL-er i stedet for å måtte huske IP-adresser og porter for hver enkelt tjeneste. Vi kjører to instanser av Caddy: én på Jaffa og én på Shamouti.

Jaffa-instans

Siden all nettverkstrafikk først går gjennom Jaffa, har vi en Caddy-instans kjørende her. Denne instansen sender trafikk videre til Headscale eller våre offentlige tjenester. Offentlige tjenester må registreres hos DNS-leverandøren vår, Domeneshop.

Denne instansen fungerer også som første forsvarslinje mot robottrafikk (bots). Vi bruker en versjon av Caddy som inkluderer modulen caddy-defender.

# Caddyfile
{
		order defender after header
}
	
wiki.studenterforpalestina.no {
		defender garbage {
			ranges openai
		}
		reverse_proxy IP:PORT
	}


Shamouti-instans

Noen av tjenestene våre er ikke offentlig tilgjengelige. Trafikken til disse sendes gjennom Headscale, og Headscales interne DNS blir benyttet. Et eksempel på en privat tjeneste er Vaultwarden. Tjenester som er private, skal ha suffikset .privat i URL-en.

NB: Private tjenester skal ikke føres opp hos Domeneshop.

# extra-records.json
  {
    "name": "vw.private.studenterforpalestina.no",
    "type": "A",
    "value": "IP"
  },
# Caddyfile
vw.private.studenterforpalestina.no {
	tls internal
	reverse_proxy IP/Docker_container_name:PORT
}