Я искал эту тему в Google, но в основном я получил результат, как разблокировать веб-сайт, заблокированный интернет-провайдерами. Итак, у меня есть веб-сайт, который заблокирован для просмотра аудиторией, и когда я перехожу в свой домен www.mydomain.com
, он перенаправит всех пользователей на www.mydomain.com/blocked.aspx
и появляется сообщение о том, что «этот сайт заблокирован, поскольку он нарушает национальные законы». Если я изменю свой DNS на DNS Google, сайт можно будет просматривать в обычном режиме.
Я использую WordPress для размещения этого веб-сайта, и мой вопрос в том, как интернет-провайдеры могут перенаправлять других людей в другой каталог, например /blocked.aspx
? Я думаю, что этот файл работает на сервере Microsoft IIS, а не на сервере Apache.
Я надеюсь, что смогу получить техническое представление об этом.
Как вы уже сказали:
Если я изменю свой DNS на DNS Google, сайт можно будет просматривать в обычном режиме.
Так что это как-то связано с DNS. Ваш провайдер предоставляет свои собственные DNS-серверы и у него есть список заблокированных доменов. Теперь, когда вы запрашиваете IP-адрес заблокированного домена, ваш интернет-провайдер не ответить с правильным IP-адресом, но с IP-адресом его собственных серверов (или ФБР, или чего-то еще), которые затем будут размещать только "заблокированный" сайт.
Допустим, у вас есть сайт http://example.org. Когда вы используете DNS-серверы вашего интернет-провайдера, он преобразует этот домен в IP-адрес.
Поскольку интернет-провайдер не хочет, чтобы вы видели веб-сайт, он разрешит своим DNS-серверам выдавать вам другой IP-адрес. На этом IP-адресе они могут разместить страницу, отображающую предупреждающее сообщение.
Интернет-провайдер никоим образом не изменяет ваш сайт, он только направляет пользователей на их собственные веб-серверы.
Ты спрашивал:
как интернет-провайдеры могут перенаправить других людей в другой каталог
Строго говоря, это не так. Они перенаправляют людей к другому сервер. Это связано с тем, как работает DNS. В других ответах это широко освещается, поэтому я расскажу немного подробнее:
Когда кто-то идет в http://www.example.com/
, браузер сначала делает DNS-запрос, чтобы найти IP-адрес для www.example.com
. Обычно это идет на DNS-сервер, управляемый их интернет-провайдером. ServerFault имеет более подробную информацию о DNS-запросах в Другой вопрос.
DNS-сервер отвечает на запрос IP-адресом. В случае блока веб-сайта, как вы описали, сервер отвечает другим сервером - возможно, государственным сервером - который перенаправляет все запросы на /blocked.aspx.
DNS Google не блокирует ваш домен таким образом, поэтому вы получаете IP-адрес своего сервера вместо веб-сервера, заблокированного правительством.
Судя по тому, что я читал в других ответах, создается впечатление, что вы конкретно спрашиваете, как вашему интернет-провайдеру удается добавить «blocked.aspx» в конец вашего домена. Если это так, давайте рассмотрим пример:
У вас есть веб-сервер, работающий на http: //mysite.mine/, который общедоступный, полностью заслуживающий доверия DNS преобразуется в общедоступный IP-адрес 10.0.0.1. Вы можете перейти к http: //mysite.mine/index.aspx или /about.aspx или что-то еще, потому что вы размещаете его на своем сервере. На самом деле он ДЕЙСТВИТЕЛЬНО решает http://10.0.0.1/about.aspx потому что это то, что делает DNS - он преобразует доменные имена в IP-адреса.
Ваш интернет-провайдер решил, что ваш веб-сайт необходимо заблокировать по какой-либо причине, поэтому они перенаправляют DNS-запросы, запрашивающие http: //mysite.mine/ на общедоступный IP-адрес 192.168.0.1, веб-сервер, размещенный вашим интернет-провайдером. Так что любая попытка получить доступ http: //mysite.mine/ фактически перенаправит на http://192.168.0.1/. Как только они это сделают, легко настроить их веб-сервер для перенаправления любой попытки доступа к этому веб-серверу с помощью blocked.aspx. Ваш браузер показывает http: //mysite.mine/blocked.aspx, но на самом деле вы получаете доступ http://192.168.0.1/block.aspx.
Что касается вашего браузера, он отображает http: //mysite.mine/, потому что это то, что ему сообщает DNS-сервер, поэтому ваш браузер не изменит домен в случае перенаправления на тот же IP-адрес. Вот почему вы видите файл blocked.aspx в конце домена - потому что это не ваш веб-сервер.
Интернет-провайдеры обычно используют свои собственные DNS-серверы, которые их клиенты используют по умолчанию (обычно потому, что клиенты пренебрегают этим изменением). Это позволяет интернет-провайдеру перенаправлять трафик с любого доменного имени на другой сервер, просто возвращая ложный IP-адрес для этого доменного имени. Среди других недостатков это позволяет интернет-провайдеру перенаправлять «заблокированные» веб-сайты на свой собственный сервер, на котором будет размещаться только страница «blocked.aspx» (или любая другая страница, которую использует провайдер).
Вам нужно поговорить со своим интернет-провайдером, чтобы определить, почему они делают то, что делают. Откройте тикет с жалобой на это. Скорее всего, они используют устройство IPS, и сигнатуры обнаруживают, что вы пытаетесь сделать что-то, что они намеренно не разрешают по юридическим причинам, или это может быть ошибкой в устройстве. Вы не узнаете, что именно, если не добьетесь от них ответа. Предыдущие ответы, кажется, просто предполагают / предполагают причины.