Sobes.tech
Intern

Já trabalhou com Apache HTTP Server?

sobes.tech IA

Resposta da IA

Sim, trabalhei. Tenho experiência na configuração, otimização e suporte do Apache HTTP Server em várias infraestruturas.

Áreas principais de trabalho:

  • Instalação e configuração básica:
    • Compilação a partir do código fonte e instalação a partir de pacotes (apt, yum).
    • Edição do ficheiro de configuração principal httpd.conf (ou apache2.conf).
    • Configuração das portas de escuta (Listen).
  • Hosts virtuais (Virtual Hosts):
    • Criação e configuração de hosts virtuais para alojar vários sites no mesmo servidor.
    • Configuração baseada no nome (Name-based Virtual Hosts) e no IP (IP-based Virtual Hosts).
    • Uso de directivas ServerName, ServerAlias, DocumentRoot.
  • Módulos do Apache (Modules):
    • Ativação e desativação de módulos (por exemplo, mod_rewrite, mod_ssl, mod_proxy).
    • Configuração de módulos específicos, como regras de reescrita de URL (mod_rewrite).
    • Trabalho com MPM (Multi-Processing Modules) — prefork, worker, event.
  • Segurança:
    • Configuração de SSL/TLS usando mod_ssl e Let's Encrypt ou outros certificados.
    • Restrição de acesso por IP (Order, Deny, Allow).
    • Configuração de autenticação (Basic, Digest) usando .htaccess ou ficheiros de configuração.
    • Proteção contra ataques comuns (por exemplo, DDoS, SQL Injection - em conjunto com WAF).
  • Desempenho e escalabilidade:
    • Otimização das configurações MPM (MaxRequestWorkers, StartServers, MinSpareServers, MaxSpareServers).
    • Uso de cache (mod_cache, mod_disk_cache).
    • Integração com FastCGI (PHP-FPM) e proxy de requisições (mod_proxy, mod_proxy_http, mod_proxy_fcgi).
    • Configuração de compressão (mod_deflate).
  • Registo e monitorização:
    • Configuração dos formatos de logs de acesso (LogFormat, CustomLog).
    • Análise dos logs de erros (ErrorLog).
    • Integração com sistemas de monitorização (por exemplo, Prometheus Exporter, plugins Nagios).
    • Uso de mod_status para monitorizar o estado do servidor e as requisições.
  • Automatização e implantação:
    • Escrita de playbooks Ansible para instalar e configurar o Apache.
    • Uso de contêineres Docker com Apache.

Exemplo de configuração de um host virtual:

# Exemplo de configuração de um 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>

    # Redirecionar para 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 # Se disponível

    # Configurações de segurança SSL recomendadas
    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>

Existe também experiência comparativa com Nginx, o que permite escolher a solução ótima para cada tarefa ou integrá-las (por exemplo, Apache como backend por trás do Nginx).