Sobes.tech
Intern

Ați lucrat cu Apache HTTP Server?

sobes.tech AI

Răspuns de la AI

Da, am lucrat. Am experiență în configurarea, optimizarea și suportul pentru Apache HTTP Server în diferite infrastructuri.

Principalele domenii de activitate:

  • Instalare și configurare de bază:
    • Compilare din sursă și instalare din pachete (apt, yum).
    • Editarea fișierului principal de configurare httpd.conf (sau apache2.conf).
    • Configurarea porturilor de ascultare (Listen).
  • Hosturi virtuale:
    • Crearea și configurarea de hosturi virtuale pentru mai multe site-uri pe același server.
    • Configurare bazată pe nume (Name-based Virtual Hosts) și adresă IP (IP-based Virtual Hosts).
    • Utilizarea directivelor ServerName, ServerAlias, DocumentRoot.
  • Module Apache:
    • Activarea și dezactivarea modulelor (de exemplu, mod_rewrite, mod_ssl, mod_proxy).
    • Configurarea modulelor specifice, precum reguli de rescriere URL (mod_rewrite).
    • Lucru cu MPM (Multi-Processing Modules) — prefork, worker, event.
  • Securitate:
    • Configurarea SSL/TLS cu mod_ssl și Let's Encrypt sau alte certificate.
    • Limitarea accesului pe bază de IP (Order, Deny, Allow).
    • Configurarea autentificării (Basic, Digest) cu .htaccess sau fișiere de configurare.
    • Protecție împotriva atacurilor comune (de exemplu, DDoS, SQL Injection - în combinație cu WAF).
  • Performanță și scalabilitate:
    • Optimizarea setărilor MPM (MaxRequestWorkers, StartServers, MinSpareServers, MaxSpareServers).
    • Utilizarea cache-ului (mod_cache, mod_disk_cache).
    • Integrarea cu FastCGI (PHP-FPM) și proxying de cereri (mod_proxy, mod_proxy_http, mod_proxy_fcgi).
    • Configurarea compresiei (mod_deflate).
  • Logging și monitorizare:
    • Configurarea formatelor de logare a acceselor (LogFormat, CustomLog).
    • Analiza logurilor de erori (ErrorLog).
    • Integrarea cu sisteme de monitorizare (de exemplu, Prometheus Exporter, Nagios plugins).
    • Utilizarea mod_status pentru monitorizarea stării serverului și a cererilor.
  • Automatizare și implementare:
    • Scrierea de playbook-uri Ansible pentru instalarea și configurarea Apache.
    • Utilizarea containerelor Docker cu Apache.

Exemplu de configurație pentru un host virtual:

# Exemplu de configurație pentru un host virtual
<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>

    # Redirecționare către 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 # Dacă există

    # Setări de securitate SSL recomandate
    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>

Experiență cu Nginx este, de asemenea, disponibilă, ceea ce permite alegerea celei mai bune soluții pentru o anumită sarcină sau integrarea lor (de exemplu, Apache ca backend în spatele Nginx).