Java и/etc/resolv.conf обработка отказа сервера DNS

Любой полудостойный сервер потребует RAM ECC, иногда FB или Зарегистрированный. Нормальная RAM ПК не будет соответствовать.

4
задан 19 September 2019 в 19:26
2 ответа

В Linux java делегирует разрешение имени хоста базовой системной библиотеке C, которая выполняет фактическое разрешение.

Серверы имен будут опрашиваться в порядке, указанном в / etc / resolv. conf после того, как были запрошены другие источники информации, указанные в /etc/nsswitch.conf (подумайте, / etc / hosts, но, возможно, NIS или LDAP).

Вы можете указать значение тайм-аута в /etc/resolv.conf, согласно справочной странице, значение по умолчанию составляет 5 секунд.

Если ваш первый сервер выдает допустимый код ошибки, то есть servfail, второй сервер имен не будет опрашиваться

3
ответ дан 3 December 2019 в 03:18

Поскольку программа (любой процесс, включая JVM) имеет свой самый первый запрос DNS, она считывает и кэширует навсегда все содержимое /etc/resolv.conf по умолчанию. Он никогда не обновляет эту информацию позже, даже когда обнаруживает полный отказ DNS. Программа должна иметь некоторые специальные системные вызовы, запрограммированные для более удобного поведения. Этот вопрос SO объясняет детали.

Я подозреваю, что вы редактировали /etc/resolv.conf во время работы JVM. Перезапустите его.

2
ответ дан 3 December 2019 в 03:18

Теги

Похожие вопросы