【问题标题】:HTTP Error 500.19 - Internal Server Error (0x8007000d)HTTP 错误 500.19 - 内部服务器错误 (0x8007000d)
【发布时间】:2021-05-09 03:47:10
【问题描述】:

我正在尝试将 .Net Core 5 WASM 应用部署到全新的 Windows Server 2019 虚拟服务器,并且遇到了非常通用的 The requested page cannot be accessed because the related configuration data for the page is invalid. 错误消息作为其中的一部分。

通过添加/删除程序,我确认我已安装 .Net Core 5.02 Windows Server Hosting、Runtime(x64 和 x86)和 5.0.102 x64 SDK。我读过这可能是一个权限问题,所以我授予每个人对站点所在的所有文件的完全控制权(显然是临时的!)并在 IIS 中确认已安装 .Net Core 模块。

当我尝试通过 IIS 编辑配置文件时,我得到了这个提示,所以我知道 web.config 的某些东西很生气,但我一生都无法弄清楚是什么。

完整的 web.config 文件(通过 VS [应用程序正常工作的地方] 发布到本地文件夹,然后将其复制到 Web 服务器)对我来说看起来非常基本。有任何想法吗?我在这里搜索的所有内容都表示权限或有关错误配置的 web.config 的内容,但没有什么明显的突出之处。这是完整的配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.web>
  <customErrors mode="Off" />
  </system.web>
  <system.webServer>
    <staticContent>
      <remove fileExtension=".blat" />
      <remove fileExtension=".dat" />
      <remove fileExtension=".dll" />
      <remove fileExtension=".json" />
      <remove fileExtension=".wasm" />
      <remove fileExtension=".woff" />
      <remove fileExtension=".woff2" />
      <mimeMap fileExtension=".blat" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".dll" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".dat" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".json" mimeType="application/json" />
      <mimeMap fileExtension=".wasm" mimeType="application/wasm" />
      <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff" />
    </staticContent>
    <httpCompression>
      <dynamicTypes>
        <add mimeType="application/octet-stream" enabled="true" />
        <add mimeType="application/wasm" enabled="true" />
      </dynamicTypes>
    </httpCompression>
    <rewrite>
      <rules>
        <rule name="Serve subdir">
          <match url=".*" />
          <action type="Rewrite" url="wwwroot\{R:0}" />
        </rule>
        <rule name="SPA fallback routing" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          </conditions>
          <action type="Rewrite" url="wwwroot\" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

【问题讨论】:

标签: asp.net-core iis iis-10 asp.net5


【解决方案1】:

经过多次尝试和错误,我终于弄明白了! &lt;rewrite /&gt; 部分是它的疯狂之处,我必须从 Microsoft 安装 URL Rewrite Module 才能让它工作。如果提供的错误消息不仅仅是“我无法阅读”,而是“未知部分&lt;rewrite /&gt;,但至少现在可以正常工作,那么它会明显更快。

希望这个小花絮可以帮助其他人建立新的网络服务器!

【讨论】:

  • 不需要。十多年来,这一点已广为人知。
猜你喜欢
  • 2020-08-19
  • 1970-01-01
  • 1970-01-01
  • 2015-05-16
  • 2021-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多