Uživatelské nástroje

Nástroje pro tento web


it:net:web_servers

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

it/net/web_servers.txt · Poslední úprava: autor: admin