Как получить или иметь свой собственный IP-адрес? - PullRequest
4 голосов
/ 16 апреля 2010

Веб-сайт, который мы работаем, позволяет людям регистрировать свои собственные URL-адреса и перенаправлять на наш сайт в свою учетную запись. Позвольте этому быть чем-то похожим на Blogspot.com, где пользователи могут иметь свой собственный URL.

Проблема в том, что для этого нам нужен статический IP-адрес, чтобы перенаправление DNS работало. Мы можем легко получить статические IP-адреса от большинства хостинговых компаний, но если мы сменим нашу хостинговую компанию, это означает, что нам придется заставить всех наших пользователей изменить настройки DNS на наш новый IP-адрес. Это если очень проблематично.

Есть ли способ владеть собственным IP-адресом, который мы можем взять с собой, куда бы мы ни пошли? Или есть другие более простые решения?

Ответы [ 3 ]

7 голосов
/ 16 апреля 2010

Это можно исправить с помощью DNS. Создайте отдельную запись DNS «A», которая указывает «your-site.com» на ваш текущий IP-адрес. Затем, когда все ваши пользователи регистрируют свои собственные URL-адреса, вместо того, чтобы настраивать записи «A», им необходимо настроить запись «CNAME», которая указывает на «your-site.com». Если ваш IP-адрес изменится в будущем, вам просто нужно изменить запись «A» для «your-site.com», и тогда все остальные записи DNS будут автоматически обновлены.

2 голосов
/ 16 апреля 2010

Я бы никогда не создал CNAME, это довольно странно и не масштабируемо (еще одна вещь, которую нужно сделать) ...

просто создайте подстановочный знак в вашей записи A с именем *.yourdomain.com

обычная вещь, которую нужно сделать - создать новый домен только для этого, например *.yourdomainaccount.com, и поработать с приведенным ниже примером, многие известные веб-службы используют эту технику.

, затем в файле по умолчанию, в файле 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));
}
1 голос
/ 16 апреля 2010

Именно поэтому доменные имена являются полезными абстракциями. IP-адрес может меняться, если домен зарегистрирован по новому адресу. Проведите исследование о динамическом DNS. Вам понравится то, что вы увидите.

http://www.dyndns.com/

...