如何获得或拥有自己的IP地址?

时间:2010-04-16 19:01:07

标签: url hosting web-hosting

我们运营的网站允许用户注册自己的网址,并将我们的网站重定向到他们的用户帐户。让它类似于Blogspot.com,用户可以在其中拥有自己的URL。

问题是,为了做到这一点,我们需要有静态IP地址才能使DNS重定向工作。我们可以轻松地从大多数托管公司获得静态IP地址,但如果我们更改我们的托管公司,则意味着我们必须强制所有用户将其DNS设置更改为我们的新IP地址。这非常有问题。

有没有办法拥有我们自己的IP地址,我们可以随身携带到我们决定使用的托管公司?或者还有其他更简单的解决方案吗?

3 个答案:

答案 0 :(得分:7)

这可以使用DNS修复。创建一条DNS“A”记录,将“your-site.com”指向您当前的IP地址。然后当所有用户注册他们自己的URL时,他们需要设置指向“your-site.com”的“CNAME”记录,而不是让他们设置“A”记录。如果您的IP将来发生变化,您只需更改“your-site.com”的“A”记录,然后所有其他DNS条目将自动更新。

答案 1 :(得分:2)

我永远不会创建CNAME,这有点奇怪而且不可扩展(还有一件事要做)......

只需在名为*.yourdomain.com

的A记录中创建一个通配符

正常的做法是为此创建一个新域,例如*.yourdomainaccount.com并使用下面的示例,大量已知的Web服务使用此技术。

然后在您的默认文件或web.config或您的站点配置的任何文件中,创建一个获取域的简单方法,例如服务器变量SERVER_NAME

然后将用户重定向到自己的帐户。

在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));
}

答案 2 :(得分:1)

这就是为什么域名是有用的抽象。只要域注册到新地址,IP就可以更改。做一些关于动态DNS的研究。你会喜欢你会看到的。

http://www.dyndns.com/