Домены LinuxNginx / Apache / панель хостингаDNS / TLS

HTTP-01: проверочный файл уходит на другой домен при перенаправлении

  • Обновлено
  • Чтение ≈ 4 минуты
  • Нужны права администратора

Краткий ответ

При выпуске HTTPS-сертификата ACME ищет токен на исходном имени и порту 80. Перенаправление может вести на другой сайт, где токена нет, либо в запрещённую схему/порт. Не каждое перенаправление мешает проверке: важно проверить конечный ответ.

В этой статье
  1. Что происходит и когда применима инструкция
  2. Причины: как различить похожие случаи
  3. Диагностика и пошаговое устранение
  4. Как проверить, что неисправность устранена
  5. Если не получилось и как отменить правки

#Что происходит и когда применима инструкция

При выпуске HTTPS-сертификата ACME ищет токен на исходном имени и порту 80. Перенаправление может вести на другой сайт, где токена нет, либо в запрещённую схему/порт. Не каждое перенаправление мешает проверке: важно проверить конечный ответ.

#Причины: как различить похожие случаи

Возможная причинаКак узнатьЧто делать
Редирект переносит запрос на чужое имяПравило return 301/rewrite срабатывает раньше выдачи файла ACME.curl показывает Location на второй домен, конечный ответ 404 или иной токен.Сохранить редирект обычных страниц, но обслуживать путь challenge исходным хостом.
Путь проверки недоступен по порту 80Закрыт публичный HTTP или адрес ведёт на другой сервер/CDN.curl к http возвращает timeout, 403 или не тот виртуальный хост.Согласовать открытие порта 80 и расположение токена на всех обслуживающих узлах.
Недопустимая цепочка редиректовПереход на нестандартный порт, IP-адрес или зацикливание.В журнале ACME видно redirect loop или unsupported redirect.Устранить циклы и нелегитимные адреса, сверить маршрут по шагам.

#Диагностика и пошаговое устранение

  1. 1. Установите исходное имя и действующий способ проверкиОткройте панель сертификатов либо журнал используемого ACME-клиента и запишите имя, для которого получена ошибка, тип HTTP-01 и сообщённый URL. Не путайте example.com и www.example.com: валидатор проверяет каждое имя, перечисленное в заявке. На сервере с Nginx/Apache уточните, какой из них фактически принимает внешние соединения на порту 80.
  1. 2. Проследите маршрут HTTP со своего компьютераОткройте терминал и выполните команду для настоящего домена; путь /.well-known/acme-challenge/test — только диагностический и обычно законно отвечает 404, если такого файла нет. По строкам HTTP/1.1 и Location выясните, уходит ли запрос на чужое имя и доходит ли до другого сервера. Параметр -L следует за перенаправлениями; -v показывает их в подробностях.
  2. Вместо example.com укажите домен из заявки
    Linux · Терминал (Bash)Команда
    Вместо example.com укажите домен из заявки. Не считать 404 на тестовом имени самостоятельным доказательством ошибки ACME.
    curl -vL --max-redirs 10 http://example.com/.well-known/acme-challenge/test
  1. 3. Проверьте живой токен, не публикуя егоКогда панель или ACME-клиент предлагает ручную HTTP-01 проверку, он выдаёт актуальный токен и ответ именно для текущей попытки. Проверяйте этот путь в период существования проверки; не вставляйте случайное значение и не используйте токен из старого заказа. Если сертификат выдаётся автоматически через плагин Nginx, изучите журнал его временной конфигурации, а не создавайте вручную лишние файлы.
  1. 4. Найдите правило, вызывающее лишний редиректАдминистратору Linux по SSH выполнить sudo nginx -T (Nginx) или sudo apachectl -S (Apache) и найти конфигурацию нужного виртуального хоста. У Nginx перенаправление уровня server может сработать до обработки location; перепроверьте, где находится return 301. Команда nginx -T выводит полный конфиг, включая возможные секреты: не размещайте результат публично.
    Linux · Терминал (Bash)КомандаНужен sudo
    Показывает итоговую конфигурацию Nginx без её изменения; может содержать конфиденциальные значения.
    sudo nginx -T
  1. 5. Разрешите исходному домену выдавать файл ACMEПеред правкой сделайте копию конфигурации и запишите, как вернуть её через панель. Для схемы webroot разместите корректный location на HTTP-виртуальном хосте, чтобы путь /.well-known/acme-challenge/ обслуживался согласованным каталогом токенов раньше правила перенаправления; конкретный root зависит от установки Certbot. Нельзя просто отключить редирект всего сайта и забыть вернуть его. Если управление перенаправлениями ведёт панель, измените её настройки, а не правьте автоматически генерируемый файл.
  1. 6. Проверьте конфигурацию перед применениемНа Nginx запустите sudo nginx -t: успешный результат содержит syntax is ok и test is successful. Только затем примените перезагрузку sudo systemctl reload nginx. При неудачном тесте не перезагружайте службу: верните файл из резервной копии, повторите тест и при необходимости обратитесь к администратору.
    Linux · Терминал (Bash)С осторожностьюНужен sudo
    Выполняйте вторую строку только после успеха первой; применимо к systemd и Nginx. Команда перезагрузки выполняется только при успешной проверке конфигурации (оператор &&). При ошибке исправьте конфигурацию и повторите проверку; не запускайте перезагрузку вручную.
    sudo nginx -t && sudo systemctl reload nginx

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

  1. 7. Проверьте доступность проверки на всех IPЕсли у домена несколько A/AAAA-записей или есть CDN/балансировщик, убедитесь, что одинаковый путь доступен на каждом обслуживающем узле. Для пробного файла с известным содержимым проверьте curl до и после HTTPS-перехода; корректная конечная страница должна вернуть именно созданный текст. За пределами активной ACME-проверки диагностический несуществующий токен закономерно даёт 404.
  1. 8. Повторите выпуск один раз и оцените результатСначала исправьте редирект и проверьте доступность на исходном имени, затем выполните единственную штатную попытку выдачи в панели или ACME-клиенте. Если ошибка осталась — запишите конечный URL и HTTP-код из нового журнала; не повторяйте неудачи до лимита. Успех означает выданный сертификат и отсутствие ошибки подтверждения каждого имени.

#Как проверить, что неисправность устранена

Проверьте запрос действующего проверочного файла по HTTP, отсутствие лишнего перехода на чужой домен и статус успешной авторизации в ACME-клиенте. Обычные страницы после проверки должны по-прежнему перенаправляться по вашей политике.

#Если не получилось и как отменить правки

Если изменялось правило перенаправления, верните сохранённую версию виртуального хоста и после nginx -t выполните reload. Если токен выдаёт панель, настройте исключение в ней либо передайте её журнал в поддержку — ручное изменение генерируемой конфигурации может быть перезаписано.

Если причина не установлена, соберите точный текст ошибки, время, имя домена, результаты проверок без паролей и приватных ключей. Передайте их ответственному администратору или поддержке регистратора, DNS-провайдера либо хостинга. Не повторяйте опасные изменения без резервной копии.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.