修改虚拟路径而不是wwroot时,让加密挑战查询请求失败

时间:2019-05-11 21:50:54

标签: web-config azure-web-sites lets-encrypt challenge-response

我将所有证书转换为Lets Encrypt,并且由于挑战请求失败,因此我的Laravel和Zend应用程序上的Web作业失败。对于我的静态网站,一切正常,对于Laravel / Zend网站,虚拟路径已从“ wwwroot”修改为“ wwwroot / public”。

我不确定需要将什么添加到我的web.config文件中以将质询请求传递到“ / well-known / acme-challenge”。

我的web.config如下,我尝试将'/.well-known/acme-challenge/web.config'的内容移入其中,尝试将质询请求传递给'/.well-已知...”,添加了其他映射,我什么都无法工作。

到目前为止,要每季度更新证书,我一直在修改返回到'wwwroot'的虚拟路径,然后手动运行Web作业,显然,这不是一个好的解决方案。

我的应用的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>

../ well-known / acme-challenge的web.config

<?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>

我正在使用SJKP的Azure Let's Encrypt扩展0.9.3

谢谢。

1 个答案:

答案 0 :(得分:0)

原来我已经回答了这个问题。

我需要添加路径映射。

虚拟路径:/。众所周知 物理路径:site \ wwwroot.well-known 类型:目录