Мы пытаемся использовать hangfire с ядром .Net, развернутым в Linux. Мы можем локально запускать и просматривать панель мониторинга Hangfire и другие страницы, такие как списки, задания и т. Д. Но когда мы развертываем код, мы видим панель мониторинга, но все css и js и ссылки указывают вместо этого на домен / hangfire / домена / appname / hangfire.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider serviceProvider)
{
IConfigurationService confiuration = (IConfigurationService)serviceProvider.GetService(typeof(IConfigurationService));
app.Use((context, next) =>
{
var pathBase = context.Request.Headers["X-Forwarded-PathBase"];
context.Request.PathBase = new PathString(pathBase);
return next();
});
app.UseCors(builder =>
builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader().AllowCredentials());
if (!env.IsProduction())
{
app.UseDeveloperExceptionPage();
}
app.UseSwagger(c =>
{
c.PreSerializeFilters.Add((swaggerDoc, httpReq) => swaggerDoc.BasePath = Configuration["Swagger:BasePath"]);
});
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint(Configuration["Swagger:JSONLocation"], "My Scheduler API V1");
c.DocExpansion(DocExpansion.None);
});
app.UseAuthentication();
//app.UseMiddleware<BasicAuthMiddleware>(confiuration.ApplicationUri);
app.UseBasicAuthentication(confiuration.ApplicationUri);
var options = new DashboardOptions
{
Authorization = new[] { new HangfireAuthorizationFilter() }
};
app.UseHangfireDashboard("/hangfire", options);
app.UseHangfireServer();
SchedulerInitializer.InitializeScheduler(confiuration);
app.UseMvc();
}