Apache & Nginx. Knyttet sammen med en kjede (del 2)

I forrige uke i den første delen denne artikkelen beskrev vi hvordan kombinasjonen Apache og Nginx er bygd opp i Timeweb. Vi er svært takknemlige til leserne for spørsmålene og det aktive diskusjonen! I dag forteller vi hvordan tilgjengeligheten av flere versjoner av PHP på én server er implementert og hvorfor vi garanterer sikkerheten til dataene våre kunder.

Apache & Nginx. Knyttet sammen i en kjede (del 2)
Virtuell hosting (Delt hosting) innebærer at mange kundekontoer er plassert på én server. På en kundekonto finnes det vanligvis flere nettsteder. Nettstedene fungerer både på ferdige CMS (for eksempel Bitrix) og på skreddersydde løsninger. Dermed varierer de tekniske kravene for alle systemene, og derfor må flere versjoner av PHP administreres på samme server.

Vi bruker Nginx som hovedwebserver: den tar imot alle eksterne tilkoblinger og leverer statisk innhold. De andre forespørslene proxieres videre til webserveren Apache. Her begynner magien: for hver versjon av PHP kjøres en egen instans av Apache som lytter på en bestemt port. Denne porten spesifiseres i den virtuelle verten til kundens nettsted.

Du kan lese mer om Driften av delt ordning i den første delen av artikkelen.

Apache & Nginx. Knyttet sammen i en kjede (del 2)
Delt ordning

Det er viktig å merke seg at vi installerer PHP-pakker for ulike versjoner, fordi det vanligvis kun ligger én versjon av PHP i alle distribusjoner.

Sikkerhet først!

En av hovedoppgavene med virtuell hosting er å sikre kundens data. Ulike kontoer, selv om de ligger på én server, er autonome og uavhengige. Hvordan fungerer dette?

Filene til nettstedene lagres i brukernes hjemmekataloger, og i den virtuelle verten til webserverne angis de nødvendige stiene. Det er viktig at webserverne, Nginx og Apache, har tilgang til de endelige filene til en bestemt kunde, siden webserveren kun kjøres av én bruker.

For Nginx benyttes en sikkerhetspatch utviklet av Timeweb-teamet: denne patchen endrer brukeren til den som er angitt i konfigurasjonsfilen for webserveren.

For andre hosting-leverandører kan dette problemet løses, for eksempel via manipulering med utvidede rettigheter for filsystenet (ACL).

For Apache brukes en multiprosesseringsmodul mpm-itk. Den lar hver VirtualHost kjøres med eget brukernavn og gruppe-ID.
Apache & Nginx. Knyttet sammen i en kjede (del 2)
Dermed, takket være operasjonene som er beskrevet ovenfor, oppnår vi et sikkert isolert miljø for hver kunde. I tillegg løser vi også skaleringsproblemer for delt hosting.

Hvordan Apache og Nginx er satt sammen kan leses i den første delen vår artikkel. I tillegg beskriver vi der en alternativ konfigurasjon via dedikert ordning.

Hvis du har spørsmål til våre eksperter, skriv i kommentarfeltet. Vi vil gjøre vårt beste for å svare på alt eller beskrive en løsning på problemet mer detaljert i kommende artikler.

Kilde: habr.com

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster