【问题标题】:ASP.net Core IIS EXPRESS 404ASP.net 核心 IIS 快递 404
【发布时间】:2020-08-03 02:25:15
【问题描述】:

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

    <?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 静态文件处理程序!所有其他页面都运行良好。

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

【问题讨论】:

  • 如果您的应用程序没有证书控制器和登录方法,则应为 404。
  • 我的应用程序有一个带有登录操作的证书控制器
  • 然后检查为什么ASP.NET Core管道被绕过了,docs.microsoft.com/en-us/iis/troubleshoot/…
  • 我激活 IISEXPRESS 跟踪日志并记录,结果为 404。与其他操作的区别是:{80000188-0003-E900-B63F-84710C7967BB} StaticFileStaticFileModule,DefaultDocumentModule,DirectoryListingModule
  • 似乎新的 AspNetCoreModuleV2 无法识别此配置,查看跟踪 iis 尝试所有模块(IsapiFilterModule、ApplicationInitializationModule、WebSocketModule、ConfigurationValidationModule、httpRedirectionModule、...)但不是 AspNetCoreModuleV2,因此以 staticFile 和结尾404

标签: asp.net-core iis iis-express


【解决方案1】:

感谢 @treborgero 在 aspnet 核心问题 Optional client certificates #21193

提示:确保删除 &lt;location path="." inheritInChildApplications="false"&gt; 标签 它就像一个魅力!

【讨论】:

    猜你喜欢
    • 2016-11-02
    • 1970-01-01
    • 2016-12-31
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 2017-10-23
    相关资源
    最近更新 更多