asp.net core mvc在iis上部署

.net core mvc重新生成或发布,部署到iis,在浏览器浏览时提示

HTTP 错误 403.14 - Forbidden

Web 服务器被配置为不列出此目录的内容。

解决1:设置启用目录浏览(iis网站-功能视图-iis下的目录浏览-双击后设置启用),列出了目录,但不能通过点击对应页面进行跳转

解决2:设置起始页(将起始页放到wwwroot下,并在Startup.cs的Configure方法中添加如下代码:)

DefaultFilesOptions defaultFilesOptions = new DefaultFilesOptions();
defaultFilesOptions.DefaultFileNames.Clear();
defaultFilesOptions.DefaultFileNames.Add("静态页面路径,此处的路径是相对于wwwroot文件夹的相对路径");
app.UseDefaultFiles(defaultFilesOptions);
app.UseStaticFiles(); 

 

然后因为是mvc项目,不打算设置起始页了,直接通过/controller/method访问,但

HTTP 错误 404.0 - Not Found

您要找的资源已被删除、已更名或暂时不可用

 

于是查了.net core项目在iis中的部署,又安装了一个.net core模块,安装成功如下图(模块查看:iis左侧连接点击服务器名,在右侧的功能视图双击iis下的模块)

 

 

配置的网址路径为发布下的public目录,然后访问提示

HTTP Error 500.30 - ANCM In-Process Start Failure

查询错误码,根据文末链接文章中修改了vs发布时设置,将目标运行时由“可移植”调整为“win-x64”后,运行正常了直接在默认页,此时没有按前文设置起始页

 

 在云服务器上配置后,访问失败,提示:

HTTP Error 500.31 - Failed to load ASP.NET Core runtime

在服务器上安装了.net core运行环境后正常了。

然后服务器上可以访问,非服务器就不行了,然后查询了云服务器后台的安全组,设置没问题,还需要设置下防火墙(控制面板-Windows Defender 防火墙-高级设置-设置出入站规则)

 

参考:

设置默认起始页:https://www.cnblogs.com/braink-1400/p/11311753.html https://www.cnblogs.com/yuchenghao/p/11024164.html

.net core项目在iis中部署:https://www.cnblogs.com/wangjieguang/p/core-iis.html

.net core在iis中模块安装地址:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-2.1&tabs=visual-studio

.net core部署目录结构:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/directory-structure?view=aspnetcore-5.0&viewFallbackFrom=aspnetcore-2.1

安装.net core模块后报错500.30:https://blog.csdn.net/qq_25042791/article/details/103055914

服务器安装.net core运行环境:https://www.cnblogs.com/qtiger/p/13859801.html https://www.cnblogs.com/v587yy/p/12161684.html

.net core运行环境下载:https://dotnet.microsoft.com/download/dotnet-core

在iis部署后,本地可以访问,外部访问不了:https://blog.csdn.net/weixin_42059737/article/details/86477875

 本地可以访问,外部访问不了:https://blog.csdn.net/weixin_42059737/article/details/86477875

posted @   户的博客  阅读(2541)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
点击右上角即可分享
微信分享提示