具有windows身份验证的IIS网站不在本地windows 10计算机上运行



我有一个简单的ASP.NET Core应用程序,我想使用IIS和Windows身份验证来运行它。

我之前测试并运行过它(在添加Windows身份验证和IIS之前(,它运行得很好:它只打开一个浏览器页面,显示一个带有名称和生日日期的json。

现在,我完全遵循了关于如何在ASP.NET Core中配置Windows身份验证的官方Microsoft指南,在那之后;"在具有IIS的Windows上托管ASP.NET Core";。我被部分卡住了

浏览网站

因为当我尝试访问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:UsersXXXDesktopFirstProjectFirstProjectbinDebugnetcoreapp3.1FirstProject.exe" arguments="" stdoutLogEnabled="false" hostingModel="InProcess">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</location>
</configuration>

但是关于如何";在带有IIS的Windows上托管ASP.NET Core";并建议将该行添加到web.config:<Project Sdk="Microsoft.NET.Sdk.Web">中。当我这样做的时候,它会抱怨";Project元素未被声明为";。当我发布时,我的网站仍然找不到。这可能是问题所在吗?还是我做错了什么?

我希望这个问题不要太愚蠢。通常我做前端的东西,ASP.NET核心、C#、IIS等对我来说是一个全新的世界

我还搜索了StackOverflow,但没有成功。尤其是这个问题看起来很有帮助,但遗憾的是它没有起作用。

附加信息:localhost上的默认IIS网站成功运行。

www.iiswebsite.com不是有效的域。它不存在,Chrome也不知道如何进入该域。

解决方案(2个选项(

  1. 使用指向站点所在服务器IP的有效域
  2. 在计算机的主机文件中为域www.iiswebsite.com添加一个主机条目,该条目指向承载站点的IIS服务器的IP

请参阅解释DNS的视频:DNS解释

有关如何添加主机条目的信息,请参阅:如何在Windows 10 中修改主机文件

使用windows powershell打开项目所在的文件夹,然后写下这就是powershell。

dotnet run

相关内容