Как работает Domain Forwarding (URL Frame) и Domain Redirection (URL Redirect) паркованного домена

archive view archive save

Как работает Domain Forwarding (<i>URL Frame</i>) и Domain Redirection (URL Redirect) для паркованного домена Нужно выяснить как работает Domain Forwarding (URL Frame) и Domain Redirection (URL Redirect) на ДНС хостинге из нутри ака Redirect Parked Domain или Forwarding Parked Domain. Сам хостер врядли поделится, открываем HTTP снифер и прослеживаем путь запроса к домену на котором стоит ДНС редирект.

Домены в примерах ниже к настоящему моменту могут уже не использовать ДНС хостинг с возможностью Domain Forwarding (URL Frame) или Domain Redirection (URL Redirect) ака Redirect Parked Domain или Forwarding Parked Domain, а поэтому текущие результаты HTTP снифинга могут отличаться от тех, которые представлены ниже!

Domain Redirection (URL Redirect)
 
I:\>nslookup remoteshaman.ru
*** Can't find server name for address 127.0.0.1: No response from server
Server: ns2.recursive.dns.com
Address: 8.20.247.20
 
Non-authoritative answer:
Name: remoteshaman.ru
Address: 195.234.4.18
 
 
http://remoteshaman.ru/
 
Display URL Normal browser lookup of URL http://remoteshaman.ru/ Completed
Started At 2012-Aug-24 13:53:59.125 (local time) Completed
DNS Lookup Lookup of hostname 'remoteshaman.ru' Completed
Connect Connect to IP address '195.234.4.18' Completed
HTTP Request Unconditional request sent for http://remoteshaman.ru/ Completed
HTTP Response Headers and content returned Completed
Redirect A redirect to http://remoteshaman.com/ was issued by the server 
 
---------------------------------
 
590 bytes sent to 195.234.4.18:80
00:00:00.000 1.868 590 579 GET 302 Redirect to http://remoteshaman.com/ http://remoteshaman.ru/
 
GET / HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/vnd.ms-excel, \
   application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, \
    application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, \
 application/x-ms-application, */*
Accept-Language: ru,uk;q=0.5
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; Trident/4.0; InfoPath.1; \
 .NET CLR 2.0.50727; .NET4.0C; .NET CLR 3.5.30729; .NET4.0E; .NET CLR 1.1.4322; \
   .NET CLR 3.0.4506.2152)
Accept-Encoding: gzip, deflate
Host: remoteshaman.ru
Connection: Keep-Alive
 
---------------------------------
 
HTTP/1.1 302 Found
Date: Fri, 24 Aug 2012 10:53:54 GMT
Server: Apache/1.3.33-Front-070114.1 (Win32) PHP/4.3.11
Location: http://remoteshaman.com
Keep-Alive: timeout=5, max=29
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
 
120
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>302 Found</TITLE>
</HEAD><BODY>
<H1>Found</H1>
The document has moved <A HREF="http://remoteshaman.com">here</A>.<P>
<HR>
<ADDRESS>Apache/1.3.33-Front-070114.1 Server at remoteshaman.ru Port 80</ADDRESS>
</BODY></HTML>
 
0

В примере выше видно, что ДНС запрос по домену remoteshaman.ru возвращает ИП адрес 195.234.4.18 принадлежащий хостингу 1GB, потом браузер (User-Agent: Mozilla/4.0) запрашивает "Host: remoteshaman.ru", на что от сервера "Server: Apache/1.3.33-Front-070114.1 (Win32) PHP/4.3.11" получает ответ "HTTP/1.1 302 Found" и перенаправляет браузер пользователя по нужному адресу "Location: http://remoteshaman.com".

На какие мысли/выводы это должно нас натолкнуть? Domain Redirection (URL Redirect) на ДНС хостинге устроен примерно таким образом:

  • При включении на ДНС хостинге Domain Redirection (URL Redirect) для какого-то домена, ИП адрес для этого домена в файле зоны меняется на ИП адрес веб сервера, который будет обслуживать Domain Redirection (URL Redirect) - в примере выше это был "Server: Apache/1.3.33-Front-070114.1 (Win32) PHP/4.3.11". При этом старый ИП адрес из настроек домена должен быть сохранён, если он был;
  • На веб сервере автоматически должен быть создан виртуальный хост (remoteshaman.ru.conf) для Domain Redirection (URL Redirect) домена, в примере это был remoteshaman.ru, а в корне сайта index.php со строкой кода header("Location: http://remoteshaman.com", true, 302); или же можно и вовсе не создавать индексных файлов, а прямо в секции <virtualhost *:80>...</virtualhost> вписать строку "Redirect 301 / http://remoteshaman.com" (301 Moved Permanently) либо "Redirect 302 / http://remoteshaman.com" (302 Found), на выбор пользователя в панели управления, после чего без разрыва текущих соединения апач перезагружается командой apachectl graceful

Дальше пример с Domain Forwarding (URL Frame) на ДНС хостинге для домена adminshell.tk:

Domain Forwarding (URL Frame) for adminshell.tk domain
 
I:\>nslookup adminshell.tk
*** Can't find server name for address 127.0.0.1: No response from server
Server: ns2.recursive.dns.com
Address: 8.20.247.20
 
Non-authoritative answer:
Name: adminshell.tk
Addresses: 93.170.52.21, 93.170.52.31
 
http://adminshell.tk/
 
Display URL Normal browser lookup of URL http://adminshell.tk/ Completed
Started At 2012-Aug-24 14:08:28.750 (local time) Completed
DNS Lookup Lookup of hostname 'adminshell.tk' Completed
Connect Connect to IP address '93.170.52.31' Completed
HTTP Request Unconditional request sent for http://adminshell.tk/ Completed
HTTP Response Headers and content returned Completed
 
---------------------------------
 
590 bytes sent to 93.170.52.31:80
00:00:00.000 2.223 590 1964 GET 200 text/html;charset=UTF-8 http://adminshell.tk/
 
GET / HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/vnd.ms-excel, \
    application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, \
    application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, \
 application/x-ms-application, */*
Accept-Language: ru,uk;q=0.5
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; Trident/4.0; InfoPath.1; \
 .NET CLR 2.0.50727; .NET4.0C; .NET CLR 3.5.30729; .NET4.0E; .NET CLR 1.1.4322; \
   .NET CLR 3.0.4506.2152)
Accept-Encoding: gzip, deflate
Host: adminshell.tk
Connection: Keep-Alive
 
---------------------------------
 
1964 bytes received by 94.27.108.235:1730
 
HTTP/1.0 200 OK
Date: Fri, 24 Aug 2012 11:08:24 GMT
Server: Resin/2.1.17
Cache-Control: no-cache
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-Server: fala.ams.taloha.net
Content-Type: text/html;charset=UTF-8
Set-Cookie: JSESSIONID=a9xJewgKPuU9; path=/
Connection: close
 
 
<html>
<head>
<title>bla bla</title>
<meta name="description" content="bla bla">
<meta name="keywords" content="bla bla">
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-23441223-3']);
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);
(function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; \
  ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + \
 '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<frameset rows="*" framespacing="0" frameborder="NO">
<frame src="http://remoteshaman.com" name="dot_tk_frame_content" scrolling="auto" noresize>
</frameset>
<noframes>
<body>
</body>
</noframes>
</html>

Принцип работы Domain Forwarding (URL Frame) на ДНС хостинге для домена adminshell.tk аналогичен принципу работы Domain Redirection (URL Redirect) на ДНС хостинге для паркованного домена remoteshaman.ru - т.е. как в первом так и во втором примере используются веб сервера, только во втором примере уже используется не "Server: Apache/1.3.33-Front-070114.1 (Win32) PHP/4.3.11", а "Server: Resin/2.1.17" и в корневом каталоге для виртуального хоста лежит индексный файл с фреймом <frame ..., который указывает на наш Domain Forwarding (URL Frame) домен.

Во втором примере мы постоянно будем находится во фрейме по адресу adminshell.tk в котором будем просматривать сайт с адреса remoteshaman.ru.

Как видно ничего особо хитрого тут нет:

  • на ДНС меняем A запись или создаём новый файл зоны, а к старому файлу дописываем .bak
  • на веб сервере создаём виртуальный хост с нужными параметрами
  • перезагружаем веб сервер

Как программно реализовать Domain Forwarding (URL Frame) и Domain Redirection (URL Redirect) ака Redirect Parked Domain или Forwarding Parked Domain - это уже зависит от конкретной ситуации. Я думаю, что подробные примеры реализации можно нарыть в пакетах cPanel или Webmin, а можно не забивать голову, психануть, взять и написать самому:)

Ссылки по теме:


Комментарии в блоге
Новое на форуме