EMZETT.
Login

Webserver im Vergleich: nginx, Apache und Caddy

Kurz: Ein Webserver liefert Seiten und Dateien aus oder leitet Anfragen an eine Anwendung weiter. Die drei häufigsten unter Linux sind nginx, Apache und Caddy.

nginx

Schnell und sparsam, gut als Reverse Proxy und für statische Dateien. Die Konfiguration steht in Blöcken:

server {
  listen 80;
  server_name beispiel.de;
  location / { proxy_pass http://127.0.0.1:3000; }
}

Apache (httpd)

Der Klassiker. Stärken: viele Module, .htaccess-Dateien (Einstellungen pro Ordner ohne Neustart), sehr gute Dokumentation. Etwas ressourcenhungriger.

Caddy

Besonders einfach: Er holt und erneuert HTTPS-Zertifikate automatisch, siehe Let’s Encrypt und TLS-Zertifikate.

beispiel.de {
  reverse_proxy 127.0.0.1:3000
}

Was ist ein Reverse Proxy?

Er steht vor der Anwendung, nimmt Anfragen an (HTTPS, Komprimierung, Zwischenspeicher, Lastverteilung) und reicht sie weiter. Die Anwendung selbst muss sich darum nicht kümmern.

Wahl

  • Einfach und automatisches HTTPS: Caddy.
  • Viel Verkehr, Reverse Proxy: nginx.
  • Bestehende Software mit .htaccess (zum Beispiel viele PHP-Anwendungen): Apache.

Immer: Dienst als eigener Benutzer, aktuelle Version, nur nötige Ports offen (Firewall unter Linux: nftables, ufw und firewalld).

Siehe auch: HTTP