Blazor WASM - IIS 上的独立部署
Blazor WASM - Standalone Deployment on IIS
我正在尝试按照说明 here.
在 IIS 上部署 Blazor WASM 应用
- 这只是开箱即用的示例 Blazor WASM 应用程序
- 我已将应用发布到文件夹
- 我已将 URL 重写模块添加到 IIS
- 我已经为 IIS 添加了动态压缩支持
- 我在默认网站中创建了一个新的 Web 应用程序并将其指向我发布 Blazor 应用程序的文件夹
调用该应用程序会生成一个页面,其中包含“发生未处理的错误。重新加载”。
查看浏览器开发工具中的请求,index.html 正在从 wwwroot 文件夹中被感染,表明 url 重写规则正在触发,但是 css/bootstrap 的请求.min.css、_framework/blazor.webassembly.js 和 css/app.css 均失败,状态为 404 - 未找到。
我错过了什么?
Windows 10 2004.
尝试在您的 index.html 文件中设置基本路径:
<base href="/CoolApp/">
下面是iis应用文件夹路径:
您可以将其设置为您的发布文件夹。
web.conifg 文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".dat" />
<remove fileExtension=".dll" />
<remove fileExtension=".json" />
<remove fileExtension=".wasm" />
<remove fileExtension=".woff" />
<remove fileExtension=".woff2" />
<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>
索引文件:
输出:
注意:确保将 iis_iusrs 和 iusr 权限分配给站点文件夹。
我正在尝试按照说明 here.
在 IIS 上部署 Blazor WASM 应用- 这只是开箱即用的示例 Blazor WASM 应用程序
- 我已将应用发布到文件夹
- 我已将 URL 重写模块添加到 IIS
- 我已经为 IIS 添加了动态压缩支持
- 我在默认网站中创建了一个新的 Web 应用程序并将其指向我发布 Blazor 应用程序的文件夹
调用该应用程序会生成一个页面,其中包含“发生未处理的错误。重新加载”。
查看浏览器开发工具中的请求,index.html 正在从 wwwroot 文件夹中被感染,表明 url 重写规则正在触发,但是 css/bootstrap 的请求.min.css、_framework/blazor.webassembly.js 和 css/app.css 均失败,状态为 404 - 未找到。
我错过了什么?
Windows 10 2004.
尝试在您的 index.html 文件中设置基本路径:
<base href="/CoolApp/">
下面是iis应用文件夹路径:
您可以将其设置为您的发布文件夹。
web.conifg 文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".dat" />
<remove fileExtension=".dll" />
<remove fileExtension=".json" />
<remove fileExtension=".wasm" />
<remove fileExtension=".woff" />
<remove fileExtension=".woff2" />
<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>
索引文件:
输出:
注意:确保将 iis_iusrs 和 iusr 权限分配给站点文件夹。