Apache & Nginx. Collegati da una catena (parte 2)

La scorsa settimana in parte uno questo articolo abbiamo descritto come è costruita l'integrazione tra Apache e Nginx in Timeweb. Siamo molto grati ai lettori per le domande e il vivace dibattito! Oggi raccontiamo come è realizzata la disponibilità di più versioni di PHP su un unico server e perché garantiamo la sicurezza dei dati ai nostri clienti.

Apache & Nginx. Collegati da una catena (parte 2)
Hosting virtuale (Shared hosting) implica che su un server siano presenti molti account clienti. Di solito, su un account di un cliente ci sono più siti web. I siti funzionano sia su CMS pronti (ad esempio, Bitrix) sia su soluzioni personalizzate. Pertanto, i requisiti tecnici di tutti i sistemi sono diversi, rendendo necessario gestire più versioni di PHP all'interno dello stesso server.

Come server web principale utilizziamo Nginx: accetta tutte le connessioni esterne e restituisce contenuti statici. Le altre richieste vengono inoltrate al server web Apache. Qui inizia la magia: per ogni versione di PHP viene avviata un'istanza separata di Apache che ascolta una porta specifica. Questa porta viene configurata nell'host virtuale del sito del cliente.

È possibile leggere di più sul funzionamento dello schema Shared in alla prima parte dell'articolo.

Apache & Nginx. Collegati da una catena (parte 2)
Shared schema

È importante notare che posizioniamo i pacchetti PHP su diverse versioni, perché di solito in tutte le distribuzioni c'è solo una versione di PHP.

La sicurezza prima di tutto!

Una delle principali funzioni dell'hosting virtuale è garantire la sicurezza dei dati del cliente. Diversi account, pur essendo sullo stesso server, sono autonomi e indipendenti. Come funziona?

I file dei siti vengono memorizzati nelle directory personali degli utenti, mentre nell'hosting virtuale dei server web vengono indicati i percorsi necessari. È fondamentale che i server web, Nginx e Apache, abbiano accesso ai file finali di un determinato cliente, poiché il server web viene eseguito solo per un singolo utente.

Per Nginx viene utilizzata una patch di sicurezza sviluppata dal team di Timeweb: questa patch cambia l'utente in quello specificato nel file di configurazione del server web.

Altri fornitori di hosting possono risolvere questo problema, ad esempio, tramite manipolazioni con i diritti estesi del file system (ACL).

Per Apache viene utilizzato un modulo di multiprocessamento mpm-itk. Consente di avviare ogni VirtualHost con un proprio identificatore utente e ID gruppo.
Apache & Nginx. Collegati da una catena (parte 2)
In questo modo, grazie alle operazioni descritte sopra, otteniamo un ambiente isolato e sicuro per ogni cliente. Allo stesso tempo, affrontiamo anche le problematiche di scalabilità per l'hosting condiviso.

Come è stata implementata la combinazione di Apache e Nginx, è possibile leggerlo in parte uno il nostro articolo. Inoltre, lì è anche descritta un'alternativa di configurazione tramite lo schema Dedicated.

Se hai domande per i nostri esperti, scrivi nei commenti. Cercheremo di rispondere a tutto o di descrivere la soluzione del problema in modo più dettagliato nei prossimi articoli.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster