【问题标题】:How to get or own your own IP address?如何获取或拥有自己的 IP 地址?
【发布时间】:2011-02-08 23:20:59
【问题描述】:

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

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

有没有办法拥有我们自己的 IP 地址,我们可以将它带到我们决定去的任何托管公司?还是有其他更简单的解决方案?

【问题讨论】:

  • 最终用户 URL 的类型是什么?用户名.mydomain.com ?

标签: url hosting web-hosting


【解决方案1】:

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

http://www.dyndns.com/

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我认为这是解决方案。他们需要创建 CNAME,而不是创建 A 记录。谢谢大卫。
    • 如果您的所有用户都只是创建子域,那么请使用 balexandre 的答案。
    【解决方案3】:

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

    只需在您的 A 记录中创建一个名为 *.yourdomain.com 的通配符

    正常的做法是为此创建一个新域,例如 *.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));
    }
    

    【讨论】:

    • 我不确定我是否理解这一点。如果用户在他们的网络浏览器中输入 theirOwnUrl.com,如果他们不更改其 DNS 的 CNAME 或 A 记录,如何将其重定向到 username.myCompnayUrl.com。该 URL 未在我的网站上注册,它已在 Godaddy 或其他注册人处注册
    猜你喜欢
    • 1970-01-01
    • 2013-04-01
    • 2012-01-14
    • 2011-10-14
    • 2023-04-11
    • 2010-09-06
    • 2010-10-28
    • 1970-01-01
    • 2010-12-26
    相关资源
    最近更新 更多