web-dev-qa-db-fra.com

Stratégie pour l'hébergement de plus de 700 noms de domaines, chacun avec un site HTML statique

J'ai un portefeuille de plus de 700 noms de domaine et, idéalement, j'aimerais créer une page Web HTML/CSS/JavaScript unique pour chaque domaine. Existe-t-il un système/stratégie/workflow qui me permettra de:

  1. Automatisez le déploiement de nouveaux sites Web, rapidement et facilement, sans avoir à lancer manuellement chaque nouveau site Web dans un panneau d'administration. Par exemple, j'ai vu des solutions basées sur Dropbox qui prétendent simplifier la configuration de nouveaux sites Web sur votre compte Dropbox, mais vous devez tout d'abord les configurer dans une interface d'administration. Il serait tellement plus facile d'avoir une convention de dénomination de dossier qui permette à l'utilisateur de cloner/copier/dupliquer facilement des sites dans leur dossier Dropbox App (https://www.dropbox.com/developers/blog/23) pour en créer de nouveaux. Cela semble intéressant, cependant ...

  2. Il est facile de gérer les CNAME du côté du bureau d’enregistrement, mais existe-t-il un moyen d’associer rapidement les CNAME à de nouveaux sites Web (du côté de l’hébergement), en utilisant peut-être la méthode proposée par gh-pages-style ( https: // help.github.com/articles/setting-up-a-custom-domain-with-pages )? Avec les gh-pages de GitHub, tout ce que vous avez à faire est de déposer un fichier appelé CNAME dans votre référentiel, avec le nom de domaine que vous souhaitez associer au référentiel à l'intérieur du fichier. gh-pages n'est malheureusement pas une bonne solution pour ce que je fais.

Je suis également développeur front-end, spécialisé dans le développement Web rapide et les "systèmes de construction front-end". Par conséquent, la création et la maintenance d'actifs statiques pour des centaines de sites ne posent aucun problème. C'est le côté hébergeur avec lequel j'ai vraiment du mal. Aucune suggestion?

Edit: Je devrais également mentionner que la gestion de mes propres serveurs n'est pas une option. En dernier recours, je pourrais envisager de créer un service tiers au-dessus d’AWS, Azure, etc., mais la gestion directe des serveurs est exactement ce que j’essaie d’éviter.

5
jonschlinkert

Voici une solution qui pourrait fonctionner pour vous.

CONFIGURATION DU SERVEUR DNS/WEB

Obtenez une adresse IP statique et associez-la à votre serveur Web. (IIS ou Apache). Configurez vos domaines maîtres (exemple.com) DNS avec les enregistrements A corrects. Maintenant, si vous visitez Example.com, le site principal apparaîtra. Pour tous vos autres domaines, créez simplement un enregistrement Cname qui pointe vers Example.com.

MULTIPLES SITES

Si vous êtes sur Apache, vous pouvez suivre cet exemple pour créer un fichier vhosts qui mappe chaque domaine dans un dossier différent. https://stackoverflow.com/questions/775868/Apache-and-mod-rewrite-redirect-domain-to-subdirectory

Donc, par essence, http://example.com/ est chargé sous la forme /var/www/example.com http://example.net est chargé depuis /var/www/example.net

Si vous êtes sur des serveurs Microsoft IIS, vous ne pourrez pas vraiment mapper les domaines de cette façon. Vous devrez écrire un peu de règles RewWrite ou utiliser ARR pour servir de proxy inverse pour créer cette fonctionnalité. Beaucoup de messages sur cela sur StackOverflow.

DÉPLOIEMENTS

Si vous voulez avoir envie d’installer git sur votre serveur et sur votre dev. Utilisez quelque chose comme BitBucket ou GitHub pour héberger vos référentiels. Je créerais simplement un référentiel principal appelé Sites et le placerais dans/var/www/avec des dossiers pour chaque site. De cette façon, vous n’avez pas à gérer un tas de dépôts Git. Lorsque vous avez fini de coder sur votre ordinateur dev, envoyez vos mises à jour à votre hôte Git. GitHub/BitBucket prennent tous deux en charge les post-hooks qui peuvent indiquer à votre serveur de télécharger les nouvelles modifications et mises à jour.

Une autre approche pauvre (spécialement sous Windows) consiste à utiliser DropBox. Nous faisons cela sur nos serveurs Windows et cela fonctionne comme un charme. Le seul inconvénient de cette approche est que dropbox synchronise tout le code. Donc, vous devez être très prudent et conscient du fait que ce qui est dans DropBox sera en direct sur le serveur. Nous surmontons cela avec une série de scripts ASP qui copient les fichiers de DropBox sur le serveur vers notre répertoire WWW où nous hébergeons tous nos fichiers. Nous appelons simplement le script chaque fois que nous souhaitons que les mises à jour soient mises en ligne. Ce n'est pas aussi sophistiqué que Git, mais les crochets postaux sur les fenêtres sont une énorme douleur à l'arrière. De plus, avoir la possibilité de coder sur un ipad pour éditer des fichiers dans une boîte de dépôt est utile en cas d'urgence.

Amazon S3?

Enfin. Si vous êtes sûr à 100% que vos sites sont tous statiques et le resteront, envisagez d'utiliser Amazon S3 pour héberger votre site statique. S3 fonctionne avec les enregistrements Cname. Donc, chaque site peut être site2343.s3.Amazon.bla.bla. L'avantage est que votre code est sécurisé et fonctionne très vite. L'inconvénient est que cela peut coûter cher.

2
Frank

tiliser un conteneur d’hôte virtuel générique dans Apache

Vous pouvez configurer Apache avec un conteneur d’hôte virtuel Wildcard. Vous contrôlez ensuite les domaines hébergés en modifiant simplement votre DNS pour qu'il pointe vers l'adresse IP appropriée.

Si vous avez le même contenu sur toutes les pages, téléchargez simplement le contenu.

Si vous avez besoin d'un contenu différent, vous pouvez utiliser une stratégie utilisée par un de nos clients.

Utilisez une seule page index.php. La page utilise la variable hostname pour extraire le contenu correct de la base de données. Dans leur cas, ils ont différentes mises en page qui sont remplies de contenu varié.

Une autre stratégie que j'ai vue consiste à utiliser des règles et des répertoires de réécriture pour chaque site.

tilisez des enregistrements A Je vous recommande également d'utiliser des enregistrements A pour cela. Cela évite que les domaines ne soient redéfinis dans un domaine commun. Peut aider à masquer certains outils de cartographie de domaine simples. Empêche également les recherches DNS ajoutées.

Donc j'aurais

domain.com CNAME à www.domaine.com

www.domain.com vers un enregistrement A pointant vers une adresse IP.

Options d'hébergement

Je serais surpris si vous pouviez le faire avec un service d'hébergement partagé. Vous aurez probablement besoin d'un cloud ou d'un système VPS.

Vous voudrez peut-être vérifier les fournisseurs VPS légèrement gérés qui gèrent les mises à jour du système d'exploitation pour vous. Une fois qu'il est configuré, vous pouvez empiler des milliers de domaines sur le système si le trafic est faible.

2
jeffatrackaid

@jonschlinkert La configuration de CNAMES n'a rien à voir avec l'ajout d'une page HTML unique à 700 domaines. CNAME ne va pas aider avec le référencement. Si vous créez une seule page HTML pour chacun de vos domaines, pourquoi ne pas créer un modèle HTML. Je ne pense pas que vous trouviez une bonne méthode pour insérer la copie dans chaque page car vous devrez écrire le contenu à un moment donné. Vous pouvez également le faire dans les pages HTML elles-mêmes.

Quelques applications vous permettent de gérer plusieurs sites WordPress à partir d'un seul tableau de bord qui peuvent vous être utiles.

0
Anagio