ASP.net Core IIS发布报502.5错误

一、运行环境
服务器的系统是64位Windows Server 2012,ASP.net Core程序是一个MVC的小应用,选择的是独立发布,目标系统是Win81 x64。

二、错误原因
把发布的一堆东西拷到服务器之后打开IIS管理,确认已经安装了aspnetcore moudle,添加网站。由于是ASP.net Core,所以不需要托管代码,在应用程序池里面把托管程序选择为无托管代码。然后点击浏览,喜闻乐见地看到502.5错误页面。
在这里插入图片描述

三、解决方法
先求助万能的百度,参考了一下热心网友的文章,说只要改成独立发布就能解决,然而对我的问题并没有用。
看一波错误页面,大概知道是 ASP.net core里面的那个exe程序跑不起来。根据提示的错误检索步骤,查看一波系统日志,系统日志的查看一般在服务器管理工具里面一打开就能看到,或者右键 我的电脑->管理->事件查看器 那里查看,看到下图的两个错误。
在这里插入图片描述

这时大概猜到是代码里面用了Kestrel,然后Kestrel启动失败导致的。把IIS上的网站停用,然后直接打开发布的那个xxx.exe运行,尝试访问,发现可以访问。确定了代码没问题,那么可能是IIS的反向代理和代码里的Kestrel服务器有冲突,在网页的应用线程池里的高级设置把加载用户配置设置为True。我的问题得以解决。

参考文章
https://www.cnblogs.com/hoyu/archive/2018/03/06/8514243.html

发布了15 篇原创文章 · 获赞 2 · 访问量 4866

猜你喜欢

转载自blog.csdn.net/weixin_38138153/article/details/84203083