RU
Bitrix Hosts: Detect, Patch, Depatch
Этот раздел нужен для on-prem Bitrix, где IP и порт могут переезжать раз в несколько недель или месяцев. Имя узла
и адрес вводятся в полях страницы: своих значений по умолчанию у программы нет, порт по умолчанию - 443.
Пример:
Host: portal.example.com
URL : https://192.168.0.10
IP : 192.168.0.10
Port: 443
Главное Правило
Windows hosts не умеет хранить порт. В hosts пишется только:
192.168.0.10 portal.example.com
Порт хранится только как metadata в комментарии managed-строки:
# AUDION_BITRIX_HOSTS; ports=443; backup=hosts_prepatch_....bak; updated=...
Эта metadata нужна DevOps Tools для диагностики, повторной проверки и точного depatch.
Рабочий Сценарий
- Открыть
СЕТЬ -> HOSTS. - Ввести имя узла и нажать
Найти текущую точку. - Убедиться, что поля
IP-адресиTCP-порты вручнуюзаполнены локальным адресом и портом. - Нажать
Состояние / DNS / порты. - Если всё выглядит правильно, включить подмену (
Включить подмену). - После работы выключить подмену (
Выключить подмену), чтобы вернуть exact pre-patchhosts.
Найти текущую точку не меняет систему. Он делает DNS-only lookup без учёта stale hosts, принимает только локальные/private адреса и сканирует порты-кандидаты. Публичный DNS IP выводится в журнал, но в поле IP-адрес не подставляется.
Локальными считаются:
10.0.0.0/8;172.16.0.0/12;192.168.0.0/16;127.0.0.0/8;169.254.0.0/16;- IPv6 loopback, ULA и link-local.
Enable Override
Включить подмену делает три вещи:
- Сохраняет точный pre-patch backup в
backup\hosts\hosts_prepatch_....bak. - Отключает старые активные строки для выбранного host.
- Добавляет managed-строку
IP -> hostс metadataports=...иbackup=....
Backup-файл является источником истины для последующего depatch.
Disable Override
Выключить подмену не редактирует hosts построчно. Он:
- Читает
backup=hosts_prepatch_....bakиз managed-комментария. - Проверяет, что backup существует в
backup\hosts. - Сохраняет текущий файл в
hosts_before_disable_....bak. - Копирует pre-patch backup поверх системного
hosts.
Это побитовый depatch: итоговый hosts должен совпасть с исходным backup. Совпадающие дата/время файла после восстановления - хороший бытовой индикатор, что файл не пересобирался вручную.
Если metadata backup=... отсутствует или файл backup потерян, Выключить подмену должен отказаться от "почти отката". В таком случае используйте Восстановить hosts или снова включите override новой версией, чтобы создать managed-строку с backup metadata.
Restore Original Hosts
Восстановить hosts - аварийный fallback. Он восстанавливает последний доступный hosts_prepatch_*.bak, если явный depatch по managed-строке невозможен.
Что Проверять В Status
Состояние / DNS / порты read-only и должен показывать:
- активные строки
hosts; - metadata
portsиbackup; - effective resolution с учётом
hosts; - DNS answer без hosts-файла;
- configured DNS servers;
- auto-scan открытых портов;
- итоговую TCP-проверку host/IP и custom/detected ports.
Smoke
Минимальная проверка поведения:
Detect current endpoint -> fields update only for local/private IP
Enable override -> pre-patch backup created, managed line has backup=...
Disable override -> hosts restored byte-for-byte from referenced backup
Status / DNS / ports -> shows ports + backup metadata