【问题标题】:.net core 2.0 app blocks plesk-webstat.net core 2.0 应用程序阻止 plesk-webstat
【发布时间】:2018-05-17 13:05:24
【问题描述】:

我将一个 aps.net core 2.0 mvc 应用程序发布到一个使用 Plesk 作为控制面板的共享网络托管服务器。该应用程序运行良好。但是,我在尝试访问网络统计信息时收到以下错误消息:

找不到这个 example.com 页面 没有找到该网址的网页:https://example.com/plesk-stat/webstat/ HTTP 错误 404

我联系了他们的支持并得到了答案“.net 核心应用程序设置不允许加载 webstats。我们建议您咨询经验丰富的网站开发人员以相应地为网站自定义 web.config 代码。”,但他们不知道如何配置 web.config 文件。

我真的想让 webstat 正常工作。任何建议将不胜感激。

【问题讨论】:

  • 您是否在 ASP.NET Core 应用程序中添加了UseStaticFiles?因为如果您不这样做,您的 ASP.NET 应用程序将尝试通过尝试查找控制器来处理请求来为请求提供服务,这将失败。
  • 是的。我做到了。我将它添加到 Startup.cs 文件中。不知道默认路由是否与它有关。这是我在 Startup.cs 中的默认路由:app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); });

标签: c# .net plesk


【解决方案1】:

如果 URL Rewrite 阻止访问,请尝试将此字符串添加到影响 webstat 页面的规则的 <conditions> 部分:

<add input="{REQUEST_URI}" pattern="^/(plesk-stat/webstat)" negate="true" />

如果这样做也无济于事,请配置 failed request tracing 以查找正在执行重定向的确切模块。

【讨论】:

  • 它似乎不适用于 .net 核心。例如:softfluent.com/blog/dev/…。按照这个链接,我安装了 NuGet 包 Microsoft.AspNetCore.Rewrite,但仍然不知道如何使 webstat 工作......
【解决方案2】:

除了更改 ASP.Net Core 站点本身的 web.config 以将/plesk-stat/ url 发送到 IIS,还必须在以下目录中添加 web.config:

C:\Inetpub\vhosts\{domain.tld}\.plesk\statistics\{domain.tld}\

(将{domain.tld}替换为您的域名),内容如下:

<configuration>
    <system.webServer>
        <handlers>
            <remove name="aspNetCore" />
        </handlers>
    </system.webServer>
</configuration>

这必须由服务器上的托管服务提供商完成。也许您应该联系您的托管服务提供商的支持。

【讨论】:

    猜你喜欢
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    相关资源
    最近更新 更多