在接收403的窗口托管上部署asp.net core 2.1 Web应用程序

时间:2018-11-10 14:14:52

标签: asp.net asp.net-core-2.0 asp.net-core-mvc-2.0

我已经在基于Windows的共享plesk托管上部署了在 Asp.net core 2.1 中开发的新创建的Web应用程序。

当我尝试浏览该网站时,它给了我这个错误

403 - Forbidden: Access is denied.

您无权使用您提供的凭据查看此目录或页面。

我已经在Google上进行了搜索,但是所有帮助都针对.net框架而不是 .net核心框架。现有的解决方案建议我将此代码放入Web配置

 <system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

但是 .net core 2.1中的项目中没有web.config

底线问题仍然存在,不知道该怎么办。

3 个答案:

答案 0 :(得分:0)

首先请确保您的共享托管服务提供商支持.NET Core托管,因为它需要安装.NETCore Hosting Bundle并将.NET CLR Version设置为No Managed Code

接下来发布您的ASP.NET Core Web应用程序,该应用程序将生成web.config文件,然后将发布的文件上传到服务器上。

答案 1 :(得分:0)

您可能需要查看托管网站或与他们联系,以确定它们是否支持.NET Core,在什么运行时版本上以及需要做什么才能为网站设置它。他们可能需要手动执行操作,而您可能需要降级到他们的版本。

使用共享托管解决此问题的最简单方法是发布在本地工作的新模板,将其复制到托管(或使用Web Deploy直接从Visual Studio执行此操作),如果出错,则写一张票证。 NET Core网站无法正常工作,这取决于他们来安装和设置所有必要的东西。

如果他们无法使其正常运行,那么您将也无法执行。除了更改托管服务提供商,您无能为力。

答案 2 :(得分:0)

从字面上看,在找到完全相同的问题的解决方案后,偶然发现了这个问题。

我的情况是:

  1. 我正试图移动托管服务提供商-网站已经启用,并且从旧主机的网站空间运行。
  2. 新主机是运行Plesk的基于Windows的共享Web主机提供商。
  3. 因此,我试图将.Net Core 2.0项目发布到我的新主机上。

...并且我一直收到“ 403-禁止访问”错误。

这就是我所发现的,我认为这可能是OP面临的问题的一部分。

即使我已正确地将网站发布到远程服务器上,但403错误仍然不断出现,直到新主机的技术支持将我指向他们的知识库文章之一为止,该文章准确地描述了我的情况和存在的问题,以及如何克服他们。

基本上,我尚未配置域名的DNS设置(因为它仍在使用中,指向我以前的托管服务提供商的网站空间),因此DNS变得“混乱”。

短期解决方法是在PC上的主机文件中添加一个 temporary 条目,该条目将我网站的流量定向到NEW虚拟主机提供商的IP地址。 (一旦上线,这些将被删除)。

类似这样的东西:

123.123.123.123 mywebsite.com

这使我(在PC上)可以绕过域名上的DNS设置,并引用新虚拟主机的Web空间上的Web内容,在完全迁移之前继续设置和配置网站

这是指向他们的knowledgebase article的链接,在他们提到之前,我从未想过它们。 (然后这很有意义!)