c# - 具有 Windows 身份验证的 IIS 网站无法在本地 Windows 10 机器上运行
问题描述
我有一个简单的 ASP.NET Core 应用程序,我想使用 IIS 和 Windows 身份验证来运行它。
我之前测试并运行过它(在添加 Windows 身份验证和 IIS 之前),它运行良好:它只是打开一个浏览器页面并显示一个带有名称和生日日期的 json。
现在,我完全遵循了关于如何在 ASP.NET Core 中配置 Windows 身份验证的官方 Microsoft 指南,然后,我遵循了关于如何“使用 IIS 在 Windows 上托管 ASP.NET Core”的Microsoft 指南。在那里,我被这部分困住了
浏览网站
因为当我尝试访问http://www.iiswebsite.com/
(这是我通过上述指南添加的网站名称)时,Chrome 会显示“无法访问此站点”。
我检查了我的配置三遍,并确保一切设置正确/如指南中所述(请注意:我使用 Windows 桌面操作系统)
这是我不明白的事情:正如有关如何“在 ASP.NET Core 中配置 Windows 身份验证”的文章中所建议的那样,我web.config
在项目的根目录中添加了所需的配置。这里是:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="C:\Users\XXX\Desktop\FirstProject\FirstProject\bin\Debug\netcoreapp3.1\FirstProject.exe" arguments="" stdoutLogEnabled="false" hostingModel="InProcess">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</location>
</configuration>
但是关于如何“使用 IIS 在 Windows 上托管 ASP.NET Core”的 Microsoft 指南也建议将此行添加到web.config
: <Project Sdk="Microsoft.NET.Sdk.Web">
。当我这样做时,它会抱怨“未声明项目元素”。当我发布时,仍然找不到我的网站。这可能是问题吗?还是我在做一些完全错误的事情?
我希望这个问题不要太愚蠢。通常我会做前端的事情,而 ASP.NET Core、C#、IIS 等对我来说是一个全新的世界。
我也搜索了 StackOverflow,但没有成功。特别是这个问题看起来很有帮助,但遗憾的是它没有用。
附加信息:localhost 上的默认 IIS 网站成功运行。
解决方案
该域www.iiswebsite.com
不是有效域。它不存在,Chrome 也不知道如何访问该域。
解决方案(2 个选项)
- 使用指向托管站点的服务器 IP 的有效域。
- 在您计算机的主机文件中为域添加一个主机条目,该条目
www.iiswebsite.com
指向托管您的站点的 IIS 服务器的 IP
观看解释什么是 DNS 的视频:DNS 解释
有关如何添加主机条目的信息,请参阅:如何在 Windows 10 中修改主机文件
推荐阅读
- python - 如何将 3D RGB 标签图像(在语义分割中)转换为 2D 灰度图像,并且类索引从 0 开始?
- c# - c#.net 字符串到日期时间
- javascript - 单击chrome中打印的取消按钮后,HTML选择重置
- javascript - Typed.JS 清除完整的短语并使用打字功能开始新的短语
- reactjs - ReactJs 调用 api 后不生成数据进入视图
- c# - 如何一次生成多个报告
- azure - 如何使用 ARM 模板将 NSG 应用于现有子网
- r - 徽标/图像未在 shinyapps.io 上显示
- mongodb - 蒙古数据库。计算数组中的字段
- android - 按下按钮时,应用程序崩溃