DNS générique et sous-domaines dynamiques

Pendant tout mon temps libre (ha!), J'ai travaillé pour envelopper le Carte illimitée des oiseaux sauvages application avec une application d'entreprise qui permettra aux gens de concevoir leur propre localisateur de magasin. Développer ma propre solution Software as a Service est l'un de mes objectifs depuis plusieurs années, et c'est une excellente opportunité.

Il y a deux fonctionnalités clés disponibles dans le commerce que je voulais intégrer à l'application et qui s'avèrent être un défi de taille, alors je voulais en discuter au cas où vous souhaiteriez faire de même. Les deux fonctionnalités sont courantes dans toutes les applications, mais j'ai découvert que même si elles sont courantes, de nombreux fournisseurs d'hébergement ne les prennent pas en charge!

Mon objectif est de créer une application en libre-service où le client peut configurer son propre sous-domaine (http://sous-domaine.mondomaineapplication.com), ou même appliquer leur propre sous-domaine (http://sous-domaine.votredomaine.com). Pour qu'il soit en libre-service, il nécessite la capacité de programmer la solution - mais il accède à certains fichiers de configuration de serveur de noms de domaine qui sont interdits avec la majorité des comptes d'hébergement! Le problème est la prise en charge du DNS Wildcard, c'est-à-dire de pouvoir pointer n'importe quel sous-domaine vers le domaine du serveur. En d'autres termes, test.domain.com ou www.domain.com ou any.domain.com pointent tous vers le même endroit. Peu importe ce que vous écrivez, cela fonctionnera.

En dehors des applications, c'est en fait une fonctionnalité assez intéressante à activer - même sur votre blog. Cela permettrait à n'importe qui d'écrire quoi que ce soit d'artificiel.votredomaine.com et amenez-les à yourdomain.com. Vous seriez surpris du nombre de mauvais liens qui pointent vers votre blog ou votre site Web. Cela pourrait être du trafic manqué si la personne ne reconnaît pas qu'il s'agit d'une erreur avec le lien.

Le processus fonctionne en réécrivant le sous-domaine dans une chaîne de requête avant que la page ne soit réellement rendue par le serveur Web ... donc subdomain.domain.com est en fait interprété par les serveurs Apache comme domain.com?what=subdomain via l'utilisation d'un fichier htaccess:

# Extraire la partie sous-domaine de domain.com
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \. Yourdomain \ .com $ [NC]
 
# Vérifiez que la partie sous-domaine n'est pas www et ftp et mail
RewriteCond% 1! ^ (Www | ftp | mail) $ [NC]
 
# Redirige toutes les requêtes vers un script php en passant en argument le sous-domaine
RewriteRule ^. * $ Http://www.votredomaine.com/%1 [R, L]

Vous trouverez des informations supplémentaires sur les fichiers que vous devez modifier sur V-nessa.net. Notez que les fichiers peuvent ne pas être situés à l'endroit spécifié en fonction de votre fournisseur d'hébergement. Mon fournisseur d'hébergement est en fait très favorable à l'ingérence des gens, mais ils préviennent que cela pourrait annuler le support client. En plus du «piratage à vos risques et périls», ils ne vont pas non plus vous aider.

Je vais travailler sur le développement du reste de l'application plutôt que de m'accrocher au développement du sous-domaine. Je vais vraiment donner CakePHP un cliché à utiliser comme cadre pour cela!

Dernière note, je suis un peu un hack sur ce truc. J'ai la chance d'avoir des équipes de développement à mon travail pour résoudre ce problème. Seul, je suis un peu dangereux. Tout commentaire et aide sont appréciés!

3 Commentaires

  1. 1

    Very cool. I actually used my registrar’s name server with wildcard DNS when I was with SliceHost, and had Apache configured to serve unconfigured subdomains from the regular domains files.

    I was really intrigued to look at the CakePHP framework, but your link is dead 🙂

    CakePHP can be found at http://cakephp.ORG

    • 2
  2. 3

Que pensez-vous?

Ce site utilise Akismet pour réduire les spams. Découvrez comment sont traitées les données de vos commentaires..