【问题标题】:Deploy issue in ASP.NET Core (403-Forbidden Access Error)ASP.NET Core 中的部署问题(403-禁止访问错误)
【发布时间】:2019-08-29 17:26:20
【问题描述】:

将我的 asp.net 核心网站上传到 plesk 主机时,弹出 403-Forbidden access 错误。如何解决?

在 ASP.Net MVC5 中,我们使用<customErrors mode="Off"> 来检查错误。但是如何在 ASP.Net core 中开启错误页面呢?

这是我的 appsettings.json 的代码:

{
    "ConnectionStrings": {
        "DefaultConnection": "Data Source=.\MSSQLSERVER2016;Initial Catalog=GraniteHouses;User ID=coretest;Password=0!6Qcdr8;Connect Timeout=15;Encrypt=False;Packet Size=4096; Persist Security Info=True; MultipleActiveResultSets=True"
    },
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}

我希望我的网站能够正常运行。

【问题讨论】:

  • 我将从使用 SQL Server Management Studio 开始,您可以使用连接字符串中的用户名和密码连接到数据库。检查登录窗口以查看是否正在使用 Windows 凭据或 SQL 凭据。我怀疑您需要使用寡妇凭证,但不确定。
  • 感谢您的回复。如何在实时托管上完成这项工作?我的网站不适用于实时托管。在本地,它工作正常。
  • 我认为 runAllManagedModulesForAllRequests = true。不确定。发现很多点击说这解决了 IIS 上的 403。

标签: c# asp.net asp.net-core


【解决方案1】:

我假设 Plesk 安装在 Windows 上,因为 Linux Plesk server 不支持 ASP.NET Core

部署包应该包含web.conig包,看起来不像这样:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
  </system.webServer>
</configuration>

您可以将stdoutLogEnabled 设置为true,然后日志将写入此.\logs\ 文件夹(您可能需要创建此文件夹/授予写入权限)。

这将帮助你得到错误

【讨论】:

  • 感谢您的回复。我无法在主机的任何地方找到 web.config 包。请帮帮我
  • 在visual studio中鼠标右键点击你的web项目,会有发布命令,点击它选择发布到本地系统(或类似的东西)。这将是您应该部署到 Web 服务器的包,该包将包含 Web.config
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-14
  • 1970-01-01
  • 1970-01-01
  • 2011-12-27
  • 2021-06-06
  • 2017-01-04
  • 2020-12-05
相关资源
最近更新 更多