2010-04-16 6 views
4

Le site Web que nous gérons permet aux utilisateurs d'enregistrer leur propre URL et de rediriger vers notre site Web vers leur compte d'utilisateur. Laisse c'est quelque chose de similaire à Blogspot.com où les utilisateurs peuvent avoir leur propre URL. Le problème est que, pour ce faire, nous devons avoir une adresse IP statique pour que la redirection DNS fonctionne. Nous pouvons facilement obtenir des adresses IP statiques de la part de la plupart des sociétés d'hébergement, mais si nous changeons notre société d'hébergement, cela signifie que nous devrons obliger tous nos utilisateurs à modifier leur configuration DNS pour la remplacer par notre nouvelle adresse IP. Ceci est très problématique.Comment obtenir ou posséder votre propre adresse IP?

Y a-t-il un moyen de posséder notre propre adresse IP que nous pouvons emmener avec nous là où nous décidons d'aller? Ou y at-il d'autres solutions plus faciles là-bas?

+0

quel est le type de l'URL de l'utilisateur final? nom d'utilisateur.mondomaine.com? – balexandre

+0

oui. username.example.com – Cory

Répondre

7

Cela peut être résolu en utilisant DNS. Créez un seul enregistrement DNS "A" qui pointe "your-site.com" vers votre adresse IP actuelle. Ensuite, lorsque tous vos utilisateurs inscrivent leur propre URL, au lieu de leur demander de créer des enregistrements «A», ils doivent configurer un enregistrement «CNAME» qui pointe vers «your-site.com». Si votre adresse IP change à l'avenir, il vous suffit de modifier l'enregistrement "A" pour "your-site.com", puis toutes les autres entrées DNS seront automatiquement mises à jour.

+0

Je pense que c'est la solution. Au lieu de créer un enregistrement, ils doivent créer CNAME. Merci David. – Cory

+1

Si tous vos utilisateurs ne font que créer des sous-domaines, utilisez la réponse de balexandre. – David

1

C'est pourquoi les noms de domaine sont des abstractions utiles. L'adresse IP peut changer tant que le domaine est enregistré à la nouvelle adresse. Faites des recherches sur le DNS dynamique. Vous aimerez ce que vous verrez.

http://www.dyndns.com/

2

Je ne créer CNAMEs, c'est un peu bizarre et non évolutive (une chose à faire) ...

il suffit de créer un caractère générique dans votre dossier A appelé *.yourdomain.com

la chose normale à faire est créer un nouveau domaine juste pour cela, comme *.yourdomainaccount.com et travailler l'exemple ci-dessous avec cela, beaucoup de services Web connus utilisent cette technique.

puis dans votre fichier par défaut ou web.config ou quel que soit le fichier est la configuration de votre site, créer une méthode simple qui s'est le domaine, par exemple le serveur variable SERVER_NAME

puis rediriger l'utilisateur vers leur propre compte.

en C#

string server = Request.ServerVariables["SERVER_NAME"]; 
if (server.Contains("www.") || server.Contains("blog.")) 
{ 
    // redirect the user to your main site or blog respectively 
} 
else 
{ 
    string user = server.Replace("http://","").split(".")[0]; 
    Response.Redirect(String.Format("www.domain.com/users/{0}", user)); 
} 
+1

Je ne suis pas sûr si je comprends cela. Si les utilisateurs entrent leurOwnUrl.com dans leur navigateur Web, comment cela va-t-il être redirigé vers username.myCompnayUrl.com s'ils ne modifient pas l'enregistrement CNAME ou A de leur DNS. L'URL n'est pas enregistrée sur mon site, elle est enregistrée avec Godaddy ou un autre inscrit – Cory