Strumenti Utente

Strumenti Sito


rete:caddy:appunti_caddy

Appunti su Caddy webserver

Autore: Fabio Di Matteo
Ultima revisione: 30/06/2026 14:10

Alcuni appunti su Caddy web server.

Avviare manualmente Caddy da utente non privilegiato

Vogliamo avviare caddy server da utente non privilegiato, ma vogliamo che resti in ascolto su porte privilegiate.

setcap 'cap_net_bind_service=+ep' /usr/sbin/caddy
su - caddy -s /bin/sh -c "caddy --config /etc/caddy/Caddyfile  start"

Semplice virtual host con supporto a php

Richiede PHP-FPM configurato e avviato con lo stesso utente che usa Caddy.

mysite:443 {
	root * /var/web/
	encode
	file_server
	php_fastcgi unix//opt/php.sock
	log {
		level ERROR
		output file /var/log/caddy/error.log {
			roll_size 10mb
			roll_keep 5
			roll_keep_for 336h
		}
	}


#inserire qui , eventualmente le direttive sottostanti
}

Url rewrite per un progetto contenuto in una sottocartella

...
handle_path /myapp/* {
		root * /opt/web/myapp
		try_files {path} {path}/ /index.php?{query}
		encode gzip
		php_fastcgi unix//opt/php85.sock
		file_server
	}

	

La direttiva try_files fa si che se nn trova file, oppure cartelle con il nome della nostra richiesta allora smista a /myproject/index.php

Proibire l'accesso a una sottocartella

...
route /phpmyadmin* {
		respond "Oh no..."
	}

Proibire l'esecuzione di file php in una cartella

...
handle /images/*.php {
		respond "Php Forbidden."
	}

Cambiare globalmente le porte di default per http e https

In cima al file di configurazione. Sezione globale.

{
	http_port 880
	https_port 84443
}

Reverse proxy

...
route /apps/* {
   reverse_proxy localhost:6789
}
...

Ricordarsi di abilitare la rotta /apps anche sulla nostra applicazione locale

Proteggersi da attacchi ddos

...
handle /myapp* {
		reverse_proxy localhost:3000 {
			transport http {
				dial_timeout 2s
				response_header_timeout 10s
			}
		}
	}

...

il server dietro proxy deve rispondere entro 2 secondi a una richiesta e non puo' impiegare piu' di 10 secondi per ritornare una risposta.

rete/caddy/appunti_caddy.txt · Ultima modifica: 08/07/2026 16:34 da Fabio Di Matteo