Какова проблема, с которой вы сталкиваетесь
При изменении публичного имени хоста в туннеле с несколькими правилами, использующими одно и то же имя хоста, происходит переопределение DNS-записи туннеля, в результате чего остальные правила остаются неиспользуемыми.
Какие действия вы предприняли для решения проблемы?
Переименовал DNS-запись непосредственно с страницы управления DNS.
Каковы шаги для воспроизведения проблемы?
- Создайте туннель.
- Настройте несколько публичных имен хостов под одним доменом (например, example.com) для различных путей:
- example.com /v1/users
- example.com /v1/groups
- example.com /v1/locations
- example.com *
-
Измените имя хоста одного из правил (например, example.com → example-old.com).
-
После внесения изменения DNS-запись для example.com удаляется из туннеля, что приводит к тому, что все остальные правила, использующие example.com, становятся неактивными, что является неожиданным.
-
Дополнительная проблема: при попытке изменить правило обратно (например, example-old.com → example.com) DNS-запись для example.com не восстанавливается.
Такое поведение вводит в заблуждение и может привести к неожиданным проблемам с DNS.
Более интуитивным подходом было бы создание новой DNS-записи для example-old.com без изменения example.com, особенно когда example.com все еще активно используется.
Кроме того, управление DNS должно быть отделено от обновлений публичных имен хостов, чтобы предотвратить такие непреднамеренные последствия.
Буду признателен за ваши комментарии по этому поводу
Ответ
Проблема, с которой вы столкнулись, действительно вызывает беспокойство и может привести к ненужным сбоям в работе ваших сервисов, использующих Cloudflare Tunnel. Давайте рассмотрим возможные решения и предложим лучший подход к управлению правилами и DNS-записями.
Проблема
Как вы правильно отметили, когда вы меняете публичное доменное имя в туннеле для одного из правил, это вызывает удаление DNS-записи, связанной с основным доменным именем, что приводит к сбоям в работе всех других правил, используя то же доменное имя. Это поведение не является интуитивным и может стать источником путаницы.
Шаги для решения проблемы
-
Проверка конфигурации туннеля: Убедитесь, что все правила правильно настроены и указаны. Проверьте типы путей и доменные имена, чтобы убедиться, что они не конфликтуют между собой.
-
Сохранение актуальности DNS-записей: Вместо того чтобы изменять существующие правила, создавайте новые DNS-записи для новых публичных имен. Например, если вы хотите использовать
example-old.com
, создайте новую запись в DNS вместо изменения основной записиexample.com
. - Разделение управления DNS и правил туннеля: Настоятельно рекомендую разрабатывать стратегию, при которой управление DNS не будет зависеть от изменений в правилах туннеля. Это позволит избежать случайных удалений и обеспечит независимость между разными уровнями конфигурации.
Дальнейшие действия
Если DNS-запись была удалена после изменения правила и не восстанавливается при попытке вернуть предыдущую конфигурацию, выполните следующие действия:
-
Восстановление DNS-записей: Зайдите в панель управления DNS и вручную добавьте запись
example.com
, указав те же параметры, что и раньше. Обратите внимание на TTL (Time to Live) и другие параметры. - Обратиться в поддержку Cloudflare: Если проблема с восстановлением сохраняется, рекомендуется обратиться в службу поддержки Cloudflare для получения помощи. Опишите вашу ситуацию, чтобы они могли дать точные рекомендации или исправить возможную ошибку в системе.
Резюме
Чтобы избежать подобных проблем в будущем:
- Избегайте изменений в существующих доменных именах, если они используются другими правилами.
- Разработайте четкую систему управления DNS-записями и правилами туннелей.
- Рассмотрите возможность использования разных уровней доменных имен для разных сервисов, чтобы снизить риск конфликтов.
Если у вас есть дополнительные вопросы или вам нужна дальнейшая помощь, не стесняйтесь обращаться.