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

La scorsa settimana in prima parte di questo articolo abbiamo descritto come è strutturata l'integrazione tra Apache e Nginx in Timeweb. Siamo molto grati ai lettori per le domande e le discussioni attive! Oggi raccontiamo come viene implementata la disponibilità di più versioni di PHP su un singolo server e perché garantiamo la sicurezza dei dati ai nostri clienti.

Apache & Nginx. Collegati da una catena (parte 2)
Hosting virtuale (Il hosting condiviso) presuppone che su un singolo server siano ospitati numerosi account cliente. In un account di un cliente ci sono generalmente più siti. I siti funzionano sia su CMS predefiniti (ad esempio, Bitrix) che su soluzioni personalizzate. Pertanto, i requisiti tecnici di tutti i sistemi sono diversi, e quindi all'interno di un singolo server è necessario gestire più versioni di PHP.

Come server web principale utilizziamo Nginx: riceve tutte le connessioni esterne e restituisce contenuti statici. Le altre richieste vengono proxy verso il server web Apache. Qui inizia la magia: per ogni versione di PHP è in esecuzione un'istanza separata di Apache che ascolta una porta specifica. Questa porta è indicata nell'host virtuale del sito cliente.

Puoi leggere di più sul funzionamento dello schema Shared nella prima parte dell'articolo.

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

È importante notare che installiamo pacchetti PHP per diverse versioni, poiché di solito in tutte le distribuzioni è presente solo una versione di PHP.

La sicurezza al primo posto!

Uno dei principali obiettivi dell'hosting virtuale è garantire la sicurezza dei dati del cliente. Gli account diversi, pur essendo sullo stesso server, sono autonomi e indipendenti. Come funziona?

I file dei siti sono memorizzati nelle directory personali degli utenti stessi, e negli host virtuali 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 avviato solo da 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.

Per altri provider di hosting, questo problema può essere risolto, ad esempio, attraverso manipolazioni con i diritti estesi del file system (ACL).

Per il funzionamento di Apache viene utilizzato il modulo di multiprocesso mpm-itk. Permette 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 sicuro e isolato per ogni cliente. Allo stesso tempo, affrontiamo anche le sfide di scalabilità per l'hosting condiviso.

Come è realizzato il collegamento tra Apache e Nginx, può essere letto in prima parte il nostro articolo. Inoltre, là viene descritta anche una configurazione alternativa tramite uno schema dedicato.

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

Fonte: habr.com

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