将 ASP.NET Core 应用发布到 IIS

随笔2个月前发布 杜光
28 0 0

转:https://learn.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-8.0&tabs=visual-studio

本文内容

先决条件
安装 .NET Core 托管捆绑包
创建 IIS 站点
创建 ASP.NET Core Razor Pages 应用

本教程介绍如何在 IIS 服务器上托管 ASP.NET Core 应用。

本教程涵盖以下主题:

在 Windows Server 上安装.NET Core Hosting Bundle。
在 IIS 管理器中创建 IIS 站点。
部署 ASP.NET Core 应用。

先决条件

.NET Core SDK 安装在开发计算机上。
Windows Server 配置了“Web 服务器 (IIS)”服务器角色。 如果服务器未配置为托管具有 IIS 的网站,请按照使用 IIS 在 Windows 上托管 ASP.NET Core 文章中“IIS 配置”部分的指南操作,然后返回本教程。

警告

IIS 配置和网站安全涉及到本教程未介绍的概念。 在 IIS 上托管生产应用之前,请先参阅 Microsoft IIS 文档中的 IIS 指南和有关使用 IIS 进行托管的 ASP.NET Core 文章。

本教程未介绍的 IIS 托管的重要方案包括:

为 ASP.NET Core 数据保护创建注册表配置单元
配置应用池的访问控制列表 (ACL)
为了重点介绍 IIS 部署概念,本教程部署了一个没有在 IIS 中配置 HTTPS 安全性的应用。 有关托管为 HTTPS 协议启用的应用的详细信息,请参阅本文其他资源部分中的安全主题。 有关托管 ASP.NET Core 应用的更多指南,请参阅使用 IIS 在 Windows 上托管 ASP.NET Core 文章。

安装 .NET Core 托管捆绑包

在 IIS 服务器上安装 .NET Core 托管捆绑包。 捆绑包可安装 .NET Core 运行时、.NET Core 库和 ASP.NET Core 模块。 该模块允许 ASP.NET Core 应用在 IIS 后面运行。

使用以下链接下载安装程序:

当前 .NET Core 托管捆绑包安装程序(直接下载)

在 IIS 服务器上运行安装程序。

重启服务器或在命令行界面中执行 net stop was /y,后跟 net start w3svc

创建 IIS 站点

在 IIS 服务器上,创建一个文件夹以包含应用已发布的文件夹和文件。 在接下来的步骤中,文件夹路径作为应用程序的物理路径提供给 IIS。 有关应用部署文件夹和文件布局的详细信息,请参阅 ASP.NET Core 目录结构。

在 IIS 管理器中,打开“连接”面板中的服务器节点。 右键单击“站点”文件夹。 选择上下文菜单中的“添加网站”。

提供网站名称,并将“物理路径”设置为所创建应用的部署文件夹 。 提供“绑定”配置,并通过选择“确定”创建网站 。

警告

不应使用顶级通配符绑定(http://*:80/http://+:80)。 顶级通配符绑定可能会为应用带来安全漏洞。 此行为同时适用于强通配符和弱通配符。 使用显式主机名而不是通配符。 如果可控制整个父域(区别于易受攻击的 *.com),则子域通配符绑定(例如,*.mysub.com)不具有此安全风险。 有关详细信息,请参阅 RFC 9110:HTTP 语义(第 7.2 节:托管和授权)。

确认进程模型标识拥有适当的权限。

如果将应用池的默认标识(“进程模型”“Identity”)从 ApplicationPoolIdentity 更改为另一标识,请确保新标识拥有对应用文件夹、数据库和其他所需资源的必需访问权限。 例如,应用池需要对文件夹的读取和写入权限,以便应用在其中读取和写入文件。

创建 ASP.NET Core Razor Pages 应用

按照 ASP.NET Core 入门教程创建 Razor Pages 应用。

发布和部署应用

发布应用意味着生成可由服务器托管的编译应用。 部署应用意味着将发布的应用移动到托管系统。 发布步骤由 .NET Core SDK 处理,而部署步骤可以通过各种方法处理。 本教程采用“文件夹”部署方法,即:

将应用发布到一个文件夹。
文件夹的内容将移动到 IIS 站点的文件夹(IIS 管理器中站点的物理路径)。

Visual Studio
.NET CLI
Visual Studio for Mac

在“解决方案资源管理器”中右键单击该项目,然后选择“发布”。
在“选择发布目标”对话框中,选择“文件夹”发布选项 。
设置“文件夹或文件共享”路径。

如果为开发计算机上可用作网络共享的 IIS 站点创建了一个文件夹,请提供该共享的路径。 当前用户必须具有写入权限才能发布到共享。
如果无法直接部署到 IIS 服务器上的 IIS 站点文件夹,请发布到可移动介质上的文件夹,并将已发布的应用物理移动到服务器上的 IIS 站点文件夹,该文件夹是该站点在 IIS 管理器中的物理路径。 将 bin/Release/{TARGET FRAMEWORK}/publish 文件夹的内容移动到服务器上的 IIS 站点文件夹,该文件夹是该站点在 IIS 管理器中的物理路径。

选择“发布”按钮。

浏览网站

应用收到第一个请求后,可以在浏览器中访问该应用。 在站点的 IIS 管理器中创建的终结点绑定上发出对应用的请求。

后续步骤

在本教程中,你将了解:

在 Windows Server 上安装.NET Core Hosting Bundle。
在 IIS 管理器中创建 IIS 站点。
部署 ASP.NET Core 应用。

若要了解有关在 IIS 上托管 ASP.NET Core 应用的详细信息,请参阅 IIS 概述文章:

 

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...