Позволяет encypt запросить сбой, когда виртуальный путь изменен, а не wwroot

Я переключаюсь на Lets Encrypt для всех своих сертификатов, и веб-задания не работают в моих приложениях Laravel и Zend из-за сбоя запросов на вызов. Для моих статических сайтов все работает нормально, для сайтов Laravel / Zend виртуальный путь был изменен с wwwroot на wwwroot / public.

Я не уверен, что мне нужно добавить в мой файл web.config, чтобы передавать запросы на вызов в '/ well-known / acme-challenge'.

Мой web.config выглядит так, как показано ниже, я попытался переместить в него содержимое файла '/.well-known/acme-challenge/web.config', попытался передать запросы на вызов в '/.well-known .. . ', добавил другие сопоставления, я не могу заставить ничего работать.

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

web.config для моего приложения

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Imported Rule 1" stopProcessing="true">
          <match url="^(.*)/$" ignoreCase="false" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
          </conditions>
          <action type="Redirect" redirectType="Permanent" url="/{R:1}" />
        </rule>
        <rule name="Imported Rule 2" stopProcessing="true">
          <match url="^" ignoreCase="false" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

web.config для ./well-known/acme-challenge

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <clear />
      <add name="ACMEStaticFile" path="*" verb="*" modules="StaticFileModule" resourceType="Either" requireAccess="Read" />
    </handlers>
    <staticContent>
      <remove fileExtension="." />
      <mimeMap fileExtension="." mimeType="text/plain" />
    </staticContent>
  </system.webServer>
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</configuration>

Я использую 0.9.3 расширения Azure Let's Encrypt от SJKP

Заранее спасибо.


person DBlackborough    schedule 11.05.2019    source источник
comment
Удалите тег PHP. Точная маркировка действительно важна.   -  person ryantxr    schedule 12.05.2019


Ответы (1)


Оказывается, я сам на это ответил.

Мне нужно было добавить отображение пути.

Виртуальный путь: /.well-known Физический путь: site \ wwwroot.well-known Тип: Каталог

person DBlackborough    schedule 13.09.2019