Sobes.tech
Intern

Dolgozott már Apache HTTP Server-rel?

sobes.tech MI

Válasz az MI-től

Igen, dolgoztam. Tapasztalatom van az Apache HTTP Server konfigurálásában, optimalizálásában és támogatásában különböző infrastruktúrákban.

Fő munkaterületek:

  • Telepítés és alapkonfiguráció:
    • Forráskódból való fordítás és csomagokból való telepítés (apt, yum).
    • A fő konfigurációs fájl szerkesztése httpd.conf (vagy apache2.conf).
    • A hallgató portok beállítása (Listen).
  • Virtuális hosztok:
    • Több oldal elhelyezéséhez és konfigurálásához virtuális hosztok létrehozása.
    • Név alapú (Name-based Virtual Hosts) és IP alapú (IP-based Virtual Hosts) konfiguráció.
    • ServerName, ServerAlias, DocumentRoot direktívák használata.
  • Apache modulok:
    • Modulok engedélyezése és letiltása (pl. mod_rewrite, mod_ssl, mod_proxy).
    • Specifikus modulok konfigurálása, például URL átírási szabályok (mod_rewrite).
    • MPM (Multi-Processing Modules) használata — prefork, worker, event.
  • Biztonság:
    • SSL/TLS konfigurálása mod_ssl és Let's Encrypt vagy más tanúsítványok használatával.
    • Hozzáférés IP alapján (Order, Deny, Allow) korlátozása.
    • Hitelesítés beállítása (Basic, Digest) .htaccess vagy konfigurációs fájlok segítségével.
    • Védelem általános támadások ellen (pl. DDoS, SQL Injection - WAF-kel együtt).
  • Teljesítmény és skálázás:
    • MPM beállítások optimalizálása (MaxRequestWorkers, StartServers, MinSpareServers, MaxSpareServers).
    • Gyorsítótár használata (mod_cache, mod_disk_cache).
    • FastCGI (PHP-FPM) integráció és kérések proxyzása (mod_proxy, mod_proxy_http, mod_proxy_fcgi).
    • Kompresszió beállítása (mod_deflate).
  • Naplózás és monitorozás:
    • Hozzáférési naplóformátumok konfigurálása (LogFormat, CustomLog).
    • Hibajegyek elemzése (ErrorLog).
    • Monitorozó rendszerekkel való integráció (pl. Prometheus Exporter, Nagios pluginok).
    • mod_status használata a szerver állapotának és kérések nyomon követésére.
  • Automatizálás és telepítés:
    • Ansible playbook-ok írása Apache telepítéséhez és konfigurálásához.
    • Docker konténerek használata Apache-val.

Virtuális hoszt konfiguráció példája:

# Virtuális hoszt konfiguráció példája
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    <Directory /var/www/example.com/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    # HTTPS-re átirányítás
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/ssl_error.log
    CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined

    <Directory /var/www/example.com/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/example.com.crt
    SSLCertificateKeyFile /etc/ssl/private/example.com.key
    SSLCertificateChainFile /etc/ssl/certs/example.com.ca-bundle # Ha van

    # Ajánlott SSL biztonsági beállítások
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA
    SSLHonorCipherOrder on
    SSLSessionTickets off
    SSLCompression off

</VirtualHost>

Nginx-szel is szintén tapasztalatokkal rendelkezem, ami lehetővé teszi a legoptimálisabb megoldás kiválasztását adott feladatra vagy azok integrálását (pl. Apache háttérként Nginx mögött).