2013-06-14 1 views
0

Supposons que nous ayons shopify.com, une plate-forme où tout le monde peut créer son e-shop et le fournir dans son domaine, l'utilisateur peut ajouter son domaine en d'autres termes. Quand quelqu'un annonce un domaine, que se passe-t-il sous le capot? Pour autant que je sache, dans Apache2, un nouveau VirtualHost est créé pour chaque nouveau domaine, pointant vers le dossier de l'utilisateur. Mais est-ce la meilleure et la plus efficace des solutions?plusieurs domaines dans le serveur - howto

Je demande, pour des raisons de curiosité principalement et aussi je voudrais comment les systèmes de travail (comme shopify.com ou webs.com, où chaque utilisateur ajoute un domaine)

Merci d'avance !!

Répondre

0

Vous avez quelques options que je connais, principalement selon que le trafic va à la même adresse IP ou non. Lorsque vous configurez des entrées DNS, vous pouvez spécifier un caractère générique pour les sous-domaines. *.example.com ce qui fait en sorte que toute requête pour un sous-domaine qui ne correspond pas à un autre enregistrement DNS va à example.com.

Ainsi, ayant:

*.example.com  <ip A> 
blog.example.com  <ip B> 

Feraient blog.example.com aller à < ip B> et example.com et tous les autres sous-domaines aller à < ip A>. Cela signifie que vous pourriez avoir la possibilité de donner à chaque nouveau sous-domaine sa propre adresse IP (très peu probable). Vous pouvez également les attraper tous à la même adresse IP et les gérer à cet endroit.

Comme vous l'avez mentionné, vous pouvez ajouter un nouvel hôte virtuel pour chaque nouveau sous-domaine créé. Cependant, c'est une sorte de solution lourde, et je pense qu'il faudrait généralement redémarrer votre programme serveur web pour recharger la nouvelle configuration. Au lieu de cela, vous pouvez utiliser quelque chose comme des réécritures pour obtenir quelque chose de similaire à l'hôte virtuel. Avoir une règle de réécriture qui fait <subdomain>.example.com/<resource> => example.com/<subdomain>/<resource> signifierait que tout ce qui serait nécessaire est de créer un nouveau dossier dans la racine de vos répertoires servis contenant le contenu de l'utilisateur. Pas de changement à la configuration. En outre, je ne suis pas sûr si vous êtes familier avec les réécritures, mais elles sont invisibles pour le navigateur/l'utilisateur, de sorte que l'utilisateur voit toujours <subdomain>.example.com/<resource> même s'il reçoit du contenu depuis example.com/<subdomain/<resource>.

Ceci n'est pas une liste définitive des possibilités, simplement quelques possibilités. Toute solution volumineuse ou évolutive va probablement impliquer de nombreuses couches d'indirection permettant une gestion plus complexe du DNS, l'équilibrage de la charge et la diffusion du contenu.

Questions connexes