IIS 404 файл не найден

Вопрос или проблема

Я пытаюсь получить SSL-сертификат для своего сайта на WordPress, размещенного на IIS на сервере Windows Server 2022, с использованием Win-acme (v2.2.9.1701). Однако я сталкиваюсь с проблемой во время процесса валидации HTTP-01.

Настройка сервера:

  • Веб-сервер: IIS на Windows Server 2022

  • Версия Win-acme: 2.2.9.1701

  • WordPress установлен в C:\inetpub\wwwroot\my-wordpress-folder

Проблема:

При запуске Win-acme для получения SSL-сертификата я получаю следующее сообщение об ошибке во время шага валидации вызова HTTP-01:

{“type”:”urn:ietf:params:acme:error:connection”,”detail”:”my-static-ip : Получение http://example.com/.well-known/acme-challenge/rFvoxqdhXc7brikfPdR8weM1R9OaC_6AwX86IQEJssg: Время ожидания при подключении (возможно, проблема с брандмауэром)”,”status”:400}

Что я пробовал:

Брандмауэр:

Полностью отключил брандмауэр для тестирования.

Структура каталогов:

Я создал следующую структуру каталогов в корневом каталоге WordPress:

C:\inetpub\wwwroot\my-wordpress-folder\.well-known\acme-challenge

Я разместил тестовый файл с названием test-file (без расширения) внутри каталога acme-challenge.

Разрешения:

Я подтвердил, что у пользователя IIS (IUSR и IIS_IUSRS) есть разрешения на чтение для каталога .well-known и его содержимого.

Тестирование доступа:

Когда я обращаюсь к файлу локально по адресу http://example.com/.well-known/acme-challenge/test-file, я получаю ошибку 404 файл не найден.

Вопросы:

  1. Почему файл не обслуживается IIS, даже несмотря на то, что структура каталога и разрешения правильные?

  2. Что может вызывать время ожидания во время валидации HTTP-01?

  3. Есть ли какие-либо дополнительные настройки IIS, которые я мог упустить, чтобы разрешить эту проверку?

Буду благодарен за любую помощь!

Ответ или решение

Ошибка IIS 404: Файл не найден при получении SSL сертификата

При попытке получить SSL сертификат для вашего сайта WordPress, размещённого на IIS на Windows Server 2022, с использованием Win-acme, вы столкнулись с проблемой в процессе валидации HTTP-01. Давайте разберёмся в ситуации и ответим на ваши вопросы.

1. Почему файл не обслуживается IIS, несмотря на правильную структуру директорий и разрешения?

Основная причина возникновения ошибки 404 может быть связана с тем, как управляется маршрутизация запросов в IIS. По умолчанию, IIS может не поддерживать прямой доступ к скрытым директориям, таким как .well-known.

Решение:

  • Проверьте правила веб-управления: Убедитесь, что в веб-конфигурации IIS нет правил URL Rewrite, которые могут блокировать доступ к директории .well-known. Если такие правила существуют, обратите внимание на порядок их применения и при необходимости адаптируйте.
  • Настройте MIME-типы: Убедитесь, что IIS может обслуживать файлы без расширения. Добавьте MIME-тип для файлов без расширения, если это необходимо.
  • Проверьте наличие файлов: Убедитесь, что файл test-file действительно существует в директории C:\inetpub\wwwroot\my-wordpress-folder\.well-known\acme-challenge и что он доступен для чтения.

2. Что может быть причиной тайм-аута во время валидации HTTP-01?

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

  • Настройки брандмауэра: Несмотря на то, что вы временно отключили брандмауэр, некоторые сетевые устройства или настройки могут всё ещё блокировать подключение к вашему серверу. Проверьте, доступны ли порты 80 (HTTP) и 443 (HTTPS) с внешних сетей.

  • Проблемы с маршрутизацией: Убедитесь, что ваш сервер доступен по публичному IP-адресу, и выполните ping к вашему доменному имени для проверки доступности.

  • Настройки маршрутизатора: Если ваш сервер находится за маршрутизатором, проверьте настройки NAT и наличие перенаправлений портов на соответствующие IP-адреса.

3. Есть ли дополнительные настройки IIS, которые могут помочь пройти валидацию?

Для успешного прохождения валидации HTTP-01 убедитесь, что:

  • Настройки сайта: Убедитесь, что сайт, подключённый к вашему доменному имени, обслуживает запросы, направленные на .well-known/acme-challenge.

  • Активация статического контента: Проверьте, установлен ли компонент "Статический контент" в IIS. Без этого компонента IIS не сможет обслуживать статические файлы, что может быть причиной вашего 404.

  • Кэширование: Если перед вами стоит задача повторной проверки сертификата, возможно, кэш или другие механизмы обработки заголовков могут мешать. Очистите кэш браузера или используйте режим инкогнито для проверки.

  • Логи IIS: Загляните в журналы IIS (обычно они располагаются в C:\inetpub\logs\LogFiles), чтобы увидеть дополнительную информацию о запросах, которые поступают к вашему серверу. Это может дать полезные подсказки о причине ошибки 404 и тайм-аутов.

Заключение

Решение проблемы 404 на IIS требует комплексного подхода, включая проверку конфигураций сервера, прав доступа, а также сетевых параметров. Следуя указанным советам, вы сможете устранить возникающие проблемы с валидацией и успешно получить SSL сертификат для вашего сайта. Если проблема всё равно будет актуальна, рассмотрите возможность обратиться к специалистам в области веб-разработки или администрирования серверов для проведения более детальной диагностики.

Оцените материал
Добавить комментарий

Капча загружается...