Architettura reverse proxy
Il pattern reverse proxy frontend Nginx + backend Apache combina i vantaggi di entrambi: Nginx gestisce connessioni client (veloce, leggero, eccellente per static e HTTPS), Apache esegue applicazioni PHP via mod_php o .htaccess (familiare, ampia compatibilità). Setup comune in hosting condivisi e VPS.
Perché questo pattern
Nginx puro: ottimo ma .htaccess non supportato, applicazioni con tanta config Apache da migrare. Apache puro: gestione process pesante (prefork), pessimo con migliaia di connessioni concorrenti. Combo: Nginx termina HTTPS, serve static a velocità massima, forward dinamico ad Apache su porta 8080.
Configurazione Nginx frontend
server { listen 443 ssl http2; ssl_certificate ...; location ~* \.(jpg|png|css|js|woff2)$ { root /var/www; expires 1y; access_log off; } location / { proxy_pass http://127.0.0.1:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }.
Apache backend
Listen 127.0.0.1:8080 (solo localhost, non esposto). RemoteIPHeader X-Forwarded-For per log corretti. Disabilita SSL su Apache (già gestito da Nginx). Disabilita gzip su Apache (Nginx lo fa meglio davanti). Mantieni .htaccess funzionante per WordPress, Drupal e applicazioni legacy.
Plesk e cPanel
Plesk usa nativamente questo pattern: nginx-proxy.conf permette personalizzazioni. cPanel ha modulo Reverse Proxy. EasyApache 4 supporta Nginx caching. Direct Admin con CustomBuild. Configurazione spesso fatta automaticamente dal pannello; gli sviluppatori toccano solo file di override.
Vantaggi misurabili
Connessioni concorrenti: 10x supportate (Nginx event-driven vs Apache prefork). Static file: 5-10x più veloci. HTTPS handshake: ottimizzato Nginx. RAM utilizzata: meno fork Apache. Costi server: stesso traffico su hardware più piccolo. Trade-off: complessita config, doppio log, debug più complesso.
Hai bisogno di aiuto?
Se vuoi un sito veloce ottimizzato dal team di G Tech Group, scrivici tramite il modulo di contatto.