部署错误:“无法访问请求的页面,因为页面的相关配置数据无效”

问题描述 投票:0回答:1

怎么了?

我在Windows服务器上向UnoEuro发布了一个网站。

当我这样做时,我不断收到错误消息:

“HTTP错误500.19 - 内部服务器错误

无法访问请求的页面,因为页面的相关配置数据无效。“

我设置/尝试了什么?

我所做的是我创建了一个.NET Core 2.1 Web API,它使用IIS在我的计算机上本地托管。然后我将web api发布到托管站点UnoEuro,在那里我可以看到文件是按原样上传的。

我问托管网站的支持,他们告诉我只是确保它被部署为独立的,但否则他们无法进一步帮助。看起来有一些与之相关的托管问题似乎无法找到webconfig文件。至少这是错误信息所说的。

我应该做任何形式的设置吗?我应该改变一个配置?我应该在Web API中设置一些我可能错过的SSL设置吗?当我启动项目时,我告诉它强制执行HTTPS,但如果那是错误,我肯定会收到另一条错误消息?

我尝试将目标运行时设置为x64和x86。

我之前从未向Azure发布任何类似的API,所以我可能会做一两件事,但我看不出它应该是什么?我用谷歌搜索过,但没有找到任何看似相关的东西。

大多数解决方案似乎与改变服务器环境有关,我没有那么多的控制权,我大多只能控制应用程序/ web api,至少这对我来说是这样的。

希望你有任何建议,我全都睁大眼睛。

附带问题:我应该使用IIS管理器吗?我目前正在通过Visual Studio 2017发布。

图像有待进一步理解

发布设置

Publish info

已部署/已发布的文件

Deployedfiles

我得到的错误消息

Error message

编辑:

我尝试将文件移动到同一域中的/ public_html,因为ISS管理器似乎表明它希望配置文件存在。

然后,如下所示,会出现不同的错误消息。

从错误消息链接:https://go.microsoft.com/fwlink/?LinkID=808681

new error message

asp.net-core deployment asp.net-core-webapi
1个回答
2
投票

很难确切地说,但我认为问题是服务器上没有安装ASP.NET Core托管包。在IIS中托管有两个部分。首先,您需要.NET Core运行时,然后您需要IIS的ASP.NET Core托管模块。部署为自包含可以购买运行时,但不能购买IIS中的主机模块。通过发布ASP.NET Core应用程序创建的Web.config中有非标准部分。主机模块在IIS中支持这些配置部分(以及其他内容)。因此,配置错误似乎暗示这不会发生。

如果您不控制服务器,那么您无能为力。老实说,在这一点上,我不会主持任何你至少不能控制环境的地方。您可以通过众多托管服务获得完整的VPS,每月5美元或更少。要么继续在Azure中托管,要么考虑其他受人尊敬的云提供商,如DigitalOcean,AWS等。

© www.soinside.com 2019 - 2024. All rights reserved.