首页 > 解决方案 > ASP.net 核心 IIS 快递 404

问题描述

我正在开发一个 net core 3.1 web 应用程序。身份验证方案之一是证书,因此我想使用客户端证书身份验证来保护页面。这是 Web.config IIS 配置(显然我<section name="access" overrideModeDefault="Allow"在解决方案 applicationHostConfig 中设置):

    <?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile="\\?\%home%\LogFiles\stdout" hostingModel="inprocess">
        <environmentVariables>
          <environmentVariable name="ASPNETCORE_HTTPS_PORT" value="44300" />
          <environmentVariable name="COMPLUS_ForceENC" value="1" />
          <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
        </environmentVariables>
      </aspNetCore>
    </system.webServer>
  </location>
  <location path="certificate/login">
    <system.webServer>
      <security>
        <access sslFlags="Ssl,SslNegotiateCert,SslRequireCert" />
      </security>
    </system.webServer>
  </location>
  <system.webServer>
    <security>
      <access sslFlags="Ssl" />
    </security>
  </system.webServer>
</configuration>

应用程序成功启动,当我调用 localhost://33400/Certificate/login 时,浏览器显示证书页面握手正确,我选择了一个证书并...... IIS 让我惊讶的是 404 静态文件处理程序!所有其他页面都可以完美运行。

在此处输入图像描述

我正在努力解决这个错误,请有人帮助我。

标签: asp.net-coreiisiis-express

解决方案


感谢 @treborgero 在 aspnet 核心问题可选客户端证书 #21193

提示:确保您移除<location path="." inheritInChildApplications="false">标签,它就像一个魅力!


推荐阅读