架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 18798|回复: 2

[.NET Core] 【实战】ASP.NET Core 部署到IIS服务器

[复制链接]
发表于 2019-7-24 12:45:08 | 显示全部楼层 |阅读模式
环境:

win 10 x64系统 iis 10版本
.net core 2.2
使用 IIS 在 Windows 上托管 ASP.NET Core,支持的操作系统:Windows 7 或更高版本、Windows Server 2008 R2 或更高版本。

首先,用vs创建一个默认asp.net core网站示例,找到Startup.cs文件,如下:

原来的代码:

在 ConfigureServices(IServiceCollection services)中加入 IIS 服务代码,修改为:

ForwardClientCertificate 设置

  • 如果将 ForwardClientCertificate 设置为 false,在反向代理与客户端执行 SSL 握手期间,反向代理不会请求客户端证书。 这是默认行为。
  • 如果将 ForwardClientCertificate 设置为 true,在反向代理与客户端执行 SSL 握手期间,反向代理会请求客户端的证书。 然后,将会转发名为 X-Client-Certificate 的自定义 HTTP 标头中的客户端证书数据。 标头值是客户端证书的 base64 编码 PEM 格式字符串。 检查证书数据后,服务可能会成功/无法处理请求并返回相应的状态代码。 如果客户端未提供证书,反向代理将转发空标头,并让服务处理这种情况。



右击项目发布网站,我用的文件方式:

QQ截图20190724111021.jpg

打开 iis 管理器,新建一个站点,设置应用程序池的.NET CLR版本为“无托管代码”,因为,IIS是作为一个反向代理的角色,并不需要它来托管代码。

将项目目录下面的文件 /bin/Release/netcoreapp2.2/publish/ 复制到新建的站点文件夹的根目录下面。

尝试访问 http://localhost:8099/ 报错如下:

HTTP 错误 500.19 - Internal Server Error
无法访问请求的页面,因为该页的相关配置数据无效。

QQ截图20190724122634.jpg

解决方案:

安装环境:Microsoft Visual C ++ 2015 Redistributable 和 .NET Core Hosting Bundle。(注意:先获取并安装 Microsoft Visual C++ 2015 Redistributable,然后再安装 .NET Core 托管捆绑包。)

Microsoft Visual C++ 2015 Redistributable Update 3 下载链接
https://www.microsoft.com/en-us/download/details.aspx?id=53840

dotnet-hosting-2.2.6-win 下载链接
https://dotnet.microsoft.com/download/dotnet-core/2.2

QQ截图20190724122608.jpg

.NET Core Runtime&Hosting Bundle包含运行现有.NET Core应用程序所需的一切,包括托管ASP.NET Core应用程序。该软件包包括.NET Core运行时,ASP.NET Core运行时,如果安装在具有IIS的计算机上,它还将添加ASP.NET核心IIS模块。

再次尝试访问网站,成功显示界面内容,如下:
QQ截图20190724122715.jpg

(完)





上一篇:spring hibernate查看生成执行的sql语句
下一篇:富兰克林的13条自律法则
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2019-7-27 22:02:31 | 显示全部楼层
xxxcsproj文件内的<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>改为< AspNetCoreHostingModel > OutOfProcess </ AspNetCoreHostingModel > 因为他不用iis托管 所以是进程外的
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2019-7-29 13:39:32 | 显示全部楼层
夏天 发表于 2019-7-27 22:02
xxxcsproj文件内的InProcess改为< AspNetCoreHostingModel > OutOfProcess  因为他不用iis托管 所以是进程 ...

如果 上述修改没有做 就回报 HTTP Error 500.30
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-25 07:19

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表