Obsah
Konfigurace webových serverů
Konfigurace určuje, jakým způsobem server (např. Nginx nebo Apache) reaguje na HTTP požadavky. Správné nastavení ovlivňuje nejen rychlost načítání stránek, ale také bezpečnost a interpretaci znakových sad.
1. Hlavní konfigurační soubory
Každý server má své specifické umístění a syntaxi konfiguračních souborů:
- Apache: Hlavní konfigurace je v `httpd.conf` nebo `apache2.conf`. Umožňuje také lokální přenastavení pomocí souborů .htaccess v jednotlivých složkách.
- Nginx: Používá soubor `nginx.conf` a strukturu složek `sites-available` / `sites-enabled`. Nginx nepodporuje `.htaccess`, což zvyšuje jeho výkon.
—
2. Nastavení kódování (Charset)
Jak bylo zmíněno v článku HTML a meta tagy, server může posílat informaci o kódování v HTTP hlavičce. Pokud je toto nastavení v rozporu s HTML kódem, vznikají chyby v zobrazení diakritiky.
Příklad pro Apache (.htaccess):
AddDefaultCharset UTF-8
Příklad pro Nginx (server block):
server {
listen 80;
charset utf-8;
...
}
—
3. Virtuální hostitelé (Virtual Hosts / Server Blocks)
Tato funkce umožňuje provozovat více domén na jedné IP adrese. Server podle hlavičky `Host` v požadavku pozná, kterou složku s webem má klientovi otevřít.
- Name-based hosting: Nejběžnější typ, rozlišuje weby podle doménového jména.
- IP-based hosting: Každý web má svou vlastní IP adresu.
—
4. Bezpečnostní konfigurace
Základem bezpečné konfigurace je omezení informací, které server o sobě prozrazuje, a vynucení šifrování.
- Skrytí verze serveru: Zabraňuje útočníkům snadno identifikovat známé zranitelnosti dané verze.
- Nginx: `server_tokens off;`
- Apache: `ServerTokens Prod`
- SSL/TLS (HTTPS): Konfigurace cest k certifikátům a vynucení přesměrování z HTTP na HTTPS.
- HSTS (HTTP Strict Transport Security): Hlavička, která prohlížeči přikazuje komunikovat se serverem výhradně přes šifrované spojení.
—
5. Optimalizace výkonu
- Komprese (Gzip/Brotli): Server před odesláním data zkomprimuje, čímž ušetří až 70 % objemu přenášených dat.
- Caching: Definice doby, po kterou mají prohlížeče uchovávat statické soubory (obrázky, CSS, JS) v paměti.
- Worker Processes: Nastavení počtu vláken/procesů podle počtu jader CPU serveru.
Související články:
Tagy: server web-dev apache nginx devops configuration security
