1

Вчера я заметил, что https://hkps.pool.sks-keyservers.net/ показывал на моем ноутбуке другую страницу, чем на настольном компьютере.

Этот URL перенаправляет на один из многих серверов, перечисленных здесь:https://sks-keyservers.net/status/

В отличие от обычного перенаправления URL-адреса, URL-адрес не изменяется, в то время как содержимое страницы изменяется.

Как именно это работает? Как это можно настроить? Имеет ли это какое-либо отношение к круговой системе DNS?

Также кажется, что он всегда показывает один и тот же "сервер" на данном ПК, если к нему один раз был получен доступ. Как оно это делает?

http://www.pool.ntp.org/en/, похоже, похожая система.

3 ответа3

3

Да, все пулы sks-keyservers.net настроены с использованием циклического перебора DNS. Что касается обратных прокси, то для всех серверов должен быть включен один, и если вы посмотрите на столбец rprox по адресу https://sks-keyservers.net/status/, то некоторые синие флаги указывают серверы с несколькими серверами в бэкэнде в кластерная установка.

Фактические данные для циклического перебора основаны на (i) ежечасном обновлении полного пула (ii) на DNS-сервере, выполняющем авторизацию, обновление списка записей DNS каждые 15 минут. Для негеографических пулов в (ii) используется случайный выбор, для географических пулов (EU, NA, ...) он ранжируется по записи SRV на основе описания в http://kfwebs.com/sks- SRV.pdf-серверы ключей

2

Есть несколько способов сделать это.
Вот очень поверхностный способ описать это.

Один из распространенных способов заключается в том, чтобы https://hkps.pool.sks-keyservers.net/ указывал на веб-интерфейс с веб-сервером.

Затем внешний интерфейс передает ваш запрос на один из своих внутренних серверов. Есть много способов, которыми сервер round robin плана может выбрать внутренний сервер, один из них - number of connections .

Когда вы возвращаетесь на страницу « https://hkps.pool.sks-keyservers.net/ », веб-интерфейс либо запоминает ваш IP-адрес и отправляет вас в тот же бэкэнд, либо бэкэнд дает вам куки-файл, который читает веб-интерфейс, который сообщает, что вы хотите перейти к определенному бэкэнду.

0

Вероятно, это не имеет ничего общего с DNS-частью соединения.

Веб-серверы могут отключить информацию, отправляемую вашим браузером, с помощью заголовков запросов, например, тегов "referer", которые указывают, что вы нажали на ссылку на другом сайте, чтобы попасть сюда, или что наиболее вероятно в этом случае - строка User-Agent, отправленная вашим браузер. Вот пара примеров строк User-Agent:

Chrome версии 32, работающий в 64-разрядной версии Linux:

Пользователь-агент: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/32.0.1700.107 Safari/537.36

или же

Safari версии 7.0.1, работающий на OS X 10.9.1:

Пользователь-агент: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, как Gecko) Версия /7.0.1 Safari /537.73.11

Это также, как веб-серверы узнают, если вы находитесь на мобильном устройстве.

Вот версия Safari 7.0, работающая на iPad под управлением IOS 7.0.4:

Пользователь-агент: Mozilla/5.0 (iPad; CPU OS 7_0_4, как Mac OS X) AppleWebKit/537.51.1 (KHTML, как Gecko) Версия /7.0 Mobile /11B554a Safari /9537.53

Веб-сервер может использовать эту информацию для отображения другой страницы, если дизайнер приложил к этому сознательные усилия. Таким образом, вы можете получить другую страницу Chrome и Safari, как простой пример. Но как вы можете видеть из содержимого строк User-Agent, там есть много информации, которую веб-дизайнер может использовать для настройки получаемой страницы, которую вы возвращаете.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .