Как очистить кэш DNS из Javascript в Edge

#javascript #dns #microsoft-edge

#javascript #dns #microsoft-edge

Вопрос:

Я пишу веб-приложение, которое работает в частной сети, используя Microsoft Edge в качестве браузера. Веб-приложение используется для обслуживания клиентов.

Веб-приложение будет разделено на два центра обработки данных. Глобальный диспетчер трафика F5 (GTM) действует как прославленный DNS, его задача — выделить IP для любого центра обработки данных (браузер с красной стрелкой для GTM). Он будет выделять IP-адрес циклическим способом, если он знает, что LTM F5 (красные стрелки от GTM до LTM) отвечают как доступные. IP-адрес, который он выделяет, будет иметь время жизни (TTL). Невозможно реализовать привязку к сеансу в GTM. В каждом центре обработки данных локальный диспетчер трафика F5 (LTM) будет балансировать нагрузку на узлы веб-приложения. Модуль F5 LTM будет использовать файл cookie jsession для реализации привязки к сеансу.

введите описание изображения здесь

Моя проблема в том, что если IP-адрес, выделенный из HGTM, истекает (15 минут TTL) в середине сеанса клиента, браузер может и должен снова запросить GTM для IP-адреса, GTM может легко выделить IP-адрес для альтернативного центра обработки данных, нарушающего привязку сеанса, поскольку LTM в каждом из них знают только о прикладных узлахв том же центре обработки данных.

Решения, которые я рассмотрел: Могу ли я использовать Javascript, чтобы заставить браузер запрашивать GTM в начале сеанса клиента, гарантируя, что до тех пор, пока сеанс клиента завершится через 15 минут, не будет никаких шансов на переключение центра обработки данных в середине сеанса.

Могу ли я использовать Javascript, чтобы остановить браузер, выполняющий поиск DNS внутри сеанса клиента, и просто выполнять поиск между сеансами клиента?

Я не могу найти способ использования Javascript для реализации любого решения.

У меня есть другие варианты инфраструктуры. Ничто не идеально. Я пытаюсь понять, является ли любой из этих вариантов технически осуществимым для документа с опциями.

Комментарии:

1. Разве это не было бы нарушением безопасности, если бы такая возможность существовала?

2. Я не думаю, что у вас есть какой-либо прямой контроль над DNS из браузера. Попытка доступа к домену может вызвать поиск или нет — возможно, он был кэширован локально. Сети и приложения структурированы таким образом, что они не будут зависеть от специфики DNS. Не всегда, но для чего-то, что описывается как «веб-приложение», я, конечно, не ожидал бы, что оно будет настолько привязано к сетевой инфраструктуре.

3. @Evgengorbunkov да. ЭКСТРЕМАЛЬНЫЙ. Наличие возможности прямого взаимодействия с DNS также означает, что вы сможете создавать запросы, которые саботируют его.

4. Возможно, мне не хватает деталей вашего варианта использования, но не было бы разумнее разместить балансировщик нагрузки между клиентом и серверами, чтобы клиентский сеанс поддерживался любыми правилами, которые вы настроили на балансировщике ( который вы контролируете )

5. Спасибо, что посмотрели, я тоже ничего не смог найти. Я думаю, вывод заключается в том, что на самом деле нецелесообразно делать что-либо на стороне клиента вокруг поиска DNS. Спасибо.

Ответ №1:

Я пытаюсь найти возможное решение для очистки кэша DNS браузера Edge с помощью Javascript, но не получил никакой полезной информации об этом.

Похоже, что это невозможно выполнить с помощью Javascript.

В качестве обходного пути, если вы хотите вручную очистить кэш DNS, вы можете ввести edge://net-internals/#dns адресную строку и нажать клавишу ввода. Затем вы можете нажать кнопку Очистить кэш хоста в браузере Edge Chromium.

Если вы используете устаревший браузер Edge, вы можете запустить окно запуска, вставить ipconfig /flushdns туда и нажать клавишу Enter.