iis - 无法托管 Blazor 应用程序
问题描述
在我的本地 Windows 10 计算机上将应用程序作为 IIS 应用程序托管时,我无法让 Blazor 应用程序正常工作。该应用程序非常简单,只有一个页面和最少的组件 - 甚至比提供的默认 Blazor 应用程序更简单。
这些是我的步骤:
- 点击发布应用
- 选择文件夹,注意它是...\bin\Release\net5.0\browser-wasm\publish\
- 打开 IIS,导航到默认网站
- 右键单击默认网站并选择添加应用程序
- 以上路径选择物理路径,主机在www.NAME.com
- 单击浏览.. 在www.NAME.com on *:80查看应用程序
- 显示的页面是IIS的欢迎页面
尝试的解决方案 1:安装 URL 重写
尝试的解决方案 2:转到主机(在 System32 中)并尝试添加 127.0.0.1 或 127.0.0.1::80,然后添加www.NAME.com
尝试的解决方案 3:在 index.html 中,编辑基本元素以包含链接<base href="/NAME/" />
尝试的解决方案 4:不要在 IIS 的默认网站下添加应用程序,而是将其添加为网站
尝试的解决方案 5:授予 IIS_IUSRS 对 web.config 的完全权限(图片)
尝试的解决方案都没有奏效。我昨天刚开始使用 Blazor,对此我很陌生。难道我做错了什么?谢谢!
解决方案
请参考本教程,我认为这是实现您目标的最佳教程之一: https ://blog.medhat.ca/2020/08/deploy-client-side-blazor-web-api-to.html?m =1
请记住,hosts 文件中主机名的配置仅与您的机器相关
因此,为了让学生访问您的 IIS 发布站点,您需要:
- 在 DNS 服务器中注册一个主机名,学生的所有计算机都将使用该主机名来解析您的机器名称。即,如果您的机器应该可以通过www.name.com访问,您需要您的 DNS 服务器使用您的本地 IP 地址解析此名称
- 要使用 https 协议,您需要在您的 IIS 配置中加载本地计算机上的证书,但您的学生的每台计算机都必须使用相同的证书。
我认为更好和更简单的解决方案是使用您的本地计算机名称,可能使用您的完整 DNS 名称,并允许学生在浏览器上使用此名称访问该站点。
在这种情况下,您可以使用本地开发证书来允许 https 连接。此证书已安装在您的机器上,用于开发目的。
我描述的每个概念都在网络上和 SO 上都有很好的记录。
推荐阅读
- docker - Shopware 6 泊坞窗 | 未显示更改
- python - 使用 PyAny 在 Python 中的 TypeError 在反射数字模拟器(例如 __radd__)中用于 Rust pyo3 pyclass 结构
- uploadcare - 如何使用 UploadCare 获取上传图像的自定义存储文件名?
- php - 无法打印值 - 使用 PHP
- ssh - limits.conf 中的条目错误,无法 ssh 到主机
- node.js - 当使用 nodejs 在 Chrome 的不同选项卡中的 localhost:3000 上打开所有仪表板时,为什么三个仪表板无法正常工作?
- c# - 如何将键盘数字与我创建的计算器应用程序绑定?
- apache-camel - 骆驼拦截事务提交
- php - 在刀片中获取一些文本以请求 Laravel
- python - 为什么调度和请求库不适用于 Python 中的此类?