.NET Core 发布到 IIS 问题 - 403.14

编程代码

1个回答

写回答

xxxxyltx

2025-07-09 15:37

+ 关注

客户端
客户端

.NET Core 发布到 IIS 问题 - 403.14

在将 .NET Core 应用程序发布到 IIS 时,您可能会遇到 HTTP 错误代码 403.14。这个错误通常表示 IIS 拒绝访问您的应用程序,因为目录浏览被禁用。本文将为您解释这个问题的原因,并提供解决方案来解决这个问题。

问题原因

403.14 错误的原因是因为您的应用程序部署在 IIS 中的虚拟目录中,而该目录上的目录浏览功能被禁用。目录浏览功能允许用户在没有默认文档的情况下查看目录中的文件列表。当目录浏览被禁用时,IIS 将返回 403.14 错误。

解决方案

要解决这个问题,您可以采取以下步骤:

1. 在 IIS 管理器中打开您的站点,并找到您的应用程序所在的虚拟目录。

2. 右键单击虚拟目录,并选择“目录浏览”选项。

3. 在右侧的“动作”窗格中,选择“启用”以启用目录浏览功能。

4. 重新启动您的应用程序,然后尝试访问它。

在某些情况下,您可能已经启用了目录浏览功能,但仍然遇到 403.14 错误。这可能是因为您的应用程序缺少默认文档。

缺少默认文档

默认文档是在没有指定请求的情况下,IIS 应该返回给客户端的文件。例如,当您访问一个目录而不是指定具体的文件时,IIS 将尝试返回默认文档。如果默认文档不存在,IIS 将返回 403.14 错误。

如果您遇到了缺少默认文档的问题,您可以按照以下步骤进行修复:

1. 在 IIS 管理器中打开您的站点,并找到您的应用程序所在的虚拟目录。

2. 右键单击虚拟目录,并选择“默认文档”选项。

3. 在右侧的“动作”窗格中,点击“添加”。

4. 输入您想要设置为默认文档的文件名,并按 Enter 键确认。

5. 将您的默认文档移动到所需的位置,以确保它们被正确加载。

示例代码

下面是一个示例代码,演示如何在 .NET Core 中启用目录浏览功能:

csharp

public class Startup

{

public void ConfigureServices(IServiceCollection services)

{

// ...

}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)

{

// ...

app.UseStaticFiles(); // 启用静态文件中间件

app.UseDirectoryBrowser(); // 启用目录浏览中间件

// ...

}

}

通过在 Configure 方法中使用 UseDirectoryBrowser 中间件,您可以启用目录浏览功能。这将允许用户在没有默认文档的情况下浏览目录中的文件列表。

通过启用目录浏览功能或设置默认文档,您可以解决在将 .NET Core 应用程序发布到 IIS 时遇到的 403.14 错误。确保按照上述步骤进行操作,并根据您的具体情况进行相应的调整。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号