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(vagyapache2.conf). - A hallgató portok beállítása (
Listen).
- Forráskódból való fordítás és csomagokból való telepítés (
- 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,DocumentRootdirektí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.
- Modulok engedélyezése és letiltása (pl.
- 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).htaccessvagy 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).
- SSL/TLS konfigurálása
- 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).
- MPM beállítások optimalizálása (
- 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_statushasználata a szerver állapotának és kérések nyomon követésére.
- Hozzáférési naplóformátumok konfigurálása (
- 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).