Intern
Pracoval jste s Apache HTTP Server?
sobes.tech AI
Odpověď od AI
Ano, pracoval jsem. Mám zkušenosti s konfigurací, optimalizací a podporou Apache HTTP Server v různých infrastrukturách.
Hlavní oblasti práce:
- Instalace a základní konfigurace:
- Kompilace ze zdrojového kódu a instalace z balíčků (
apt,yum). - Úprava hlavního konfiguračního souboru
httpd.conf(neboapache2.conf). - Nastavení poslouchacích portů (
Listen).
- Kompilace ze zdrojového kódu a instalace z balíčků (
- Virtuální hosté:
- Vytváření a konfigurace virtuálních hostů pro více webů na jednom serveru.
- Konfigurace na základě jména (
Name-based Virtual Hosts) a IP adresy (IP-based Virtual Hosts). - Použití direktiv
ServerName,ServerAlias,DocumentRoot.
- Moduly Apache:
- Zapnutí a vypnutí modulů (například
mod_rewrite,mod_ssl,mod_proxy). - Konfigurace specifických modulů, například pravidel přepisování URL (
mod_rewrite). - Práce s MPM (Multi-Processing Modules) —
prefork,worker,event.
- Zapnutí a vypnutí modulů (například
- Bezpečnost:
- Konfigurace SSL/TLS s
mod_ssla Let's Encrypt nebo jinými certifikáty. - Omezení přístupu podle IP (
Order,Deny,Allow). - Nastavení autentizace (
Basic,Digest) pomocí.htaccessnebo konfiguračních souborů. - Ochrana před běžnými útoky (například DDoS, SQL Injection - ve spojení s WAF).
- Konfigurace SSL/TLS s
- Výkon a škálování:
- Optimalizace nastavení MPM (
MaxRequestWorkers,StartServers,MinSpareServers,MaxSpareServers). - Použití cache (
mod_cache,mod_disk_cache). - Integrace s FastCGI (PHP-FPM) a proxyování požadavků (
mod_proxy,mod_proxy_http,mod_proxy_fcgi). - Nastavení komprese (
mod_deflate).
- Optimalizace nastavení MPM (
- Logování a monitoring:
- Nastavení formátů logů přístupů (
LogFormat,CustomLog). - Analýza chybových logů (
ErrorLog). - Integrace s monitorovacími systémy (například Prometheus Exporter, Nagios pluginy).
- Použití
mod_statuspro sledování stavu serveru a požadavků.
- Nastavení formátů logů přístupů (
- Automatizace a nasazení:
- Psání Ansible playbooků pro instalaci a konfiguraci Apache.
- Použití Docker kontejnerů s Apache.
Příklad konfigurace virtuálního hosta:
# Příklad konfigurace virtuálního hosta
<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>
# Přesměrování na HTTPS
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 # Pokud existuje
# Doporučené bezpečnostní nastavení SSL
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>
Szintén van tapasztalatom Nginx-szel, 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).