Hangfire 仪表板链接指向错误的路线



问题是,当应用程序部署到非根上下文(即http://root/someAppName/默认情况下,仪表板可在http://root/someAppName/hangfire处访问。 但是仪表板缺少任何 js 和 css,因为它们是从错误的位置下载的。 链接也会发生同样的问题(位置错误)。它们都指向http://root/someLinkName跳过上下文的/someAppName部分。 我正在使用 ASP.NET 核心 2.2。

这里有类似的问题,但它尚未解决,此外,不涉及 ASP.NET 核心。如何正确设置我的应用以缓解此问题?应用无法部署到根上下文,需要保持在/someAppName下。

当具有 Hangfire 的 ASP.NET Core 应用程序部署在网关或负载均衡器后面时,这是一个已知问题。请参阅此,此和此以供参考。解决方法是配置网关(负载均衡器)以将X-Forwarded-PathBase传递给应用程序,并在app.UseHangfireDashboard()之前添加以下中间件:

app.Use((context, next) =>
{
var pathBase = context.Request.Headers["X-Forwarded-PathBase"];
if (pathBase != null)
context.Request.PathBase = new PathString(pathBase);
return next();
});
app.UseHangfireDashboard();

相关内容

最新更新