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-сертификата для сайта на WordPress

Введение

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

1. Причины 404: Файл не найден

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

1.1 Неверная конфигурация сайта в IIS

Проверьте, правильно ли настроен веб-сайт в IIS. Убедитесь, что:

  • Ваш WordPress-сайт привязан к правильному IP-адресу и порту.
  • Веб-сайт активен и запущен.
  • Настройка виртуального каталога для .well-known корректна. Вам может понадобиться создать отдельный виртуальный каталог для этой папки.

1.2 Проблемы с правилами маршрутизации или переадресации

Иногда настройки правил URL Rewrite могут блокировать доступ к определённым ресурсам. Убедитесь, что у вас не есть правил, которые могут предотвращать доступ к пути .well-known/acme-challenge.

  1. Откройте диспетчер IIS.
  2. Перейдите в свойства вашего сайта и убедитесь, что правила URL Rewrite отсутствуют для этой директории или правильно настроены.

1.3 Проблемы с разрешениями

Как вы уже подтвердили, IIS-учётные записи (IUSR и IIS_IUSRS) имеют права на чтение. Однако, также необходимо проверить, что родительские каталоги имеют правильные разрешения на доступ для этих учётных записей.

2. Причины тайм-аутов при валидации HTTP-01

Ваша ошибка с тайм-аутом может быть вызвана несколькими факторами:

2.1 Брандмауэр

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

2.2 Доступ к внешним IP

Убедитесь, что ваш сервер доступен из интернет-пространства. Для этого можно выполнить команду ping или использовать инструменты, такие как curl, чтобы видеть, как внешние вредоносные программы видят ваш сайт.

curl -I http://example.com/.well-known/acme-challenge/test-file

Если сервер недоступен, вероятно, проблема с маршрутизацией или сетью.

3. Дополнительные настройки IIS

Если указанные выше шаги не помогли, попробуйте следующее:

3.1 Активация статических файлов

Убедитесь, что модуль Static Content установлен и активирован в IIS. Это важный шаг, чтобы сервер мог обслуживать статические файлы, такие как ваш test-file.

3.2 Конфигурация web.config

Если вы ещё не сделали этого, добавьте или обновите файл web.config в корневом каталоге вашего сайта с правилами для пути .well-known/acme-challenge. Пример:

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="ACME Challenge" stopProcessing="true">
          <match url="^\.well-known/acme-challenge/(.*)" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          </conditions>
          <action type="Rewrite" url="/.well-known/acme-challenge/{R:1}" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

Заключение

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

Удачи в получении сертификата и защите вашего сайта!

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

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