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(sauapache2.conf). - Configurarea porturilor de ascultare (
Listen).
- Compilare din sursă și instalare din pachete (
- 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.
- Activarea și dezactivarea modulelor (de exemplu,
- 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.htaccesssau fișiere de configurare. - Protecție împotriva atacurilor comune (de exemplu, DDoS, SQL Injection - în combinație cu WAF).
- Configurarea SSL/TLS cu
- 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).
- Optimizarea setărilor MPM (
- 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_statuspentru monitorizarea stării serverului și a cererilor.
- Configurarea formatelor de logare a acceselor (
- 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).