【发布时间】:2020-08-28 11:24:12
【问题描述】:
问题
所以我试图将一个 HTML 文件放在 wwwroot 文件夹中
wwwroot
page.html
它在开发机器上工作,我可以到达那个页面。但是,在 Nginx 上运行的服务器上,它只是不想显示该页面。 Nginx 的配置就像在 documentation。我认为是与操作系统相关的东西,或者我不知道......
相关配置如下:
Program.cs
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}
Startup.cs
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
var swaggerOptions = new Options.SwaggerOptions();
Configuration.GetSection(nameof(swaggerOptions)).Bind(swaggerOptions);
app.UseSwagger(option =>
{
option.RouteTemplate = swaggerOptions.JsonRoute;
});
app.UseSwaggerUI(options =>
{
options.SwaggerEndpoint(swaggerOptions.UiEndpoint, swaggerOptions.Description);
});
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
【问题讨论】:
-
不确定 linux 但在 windows 上我必须在调用
UseStaticFiles():app.UseFileServer(new FileServerOptions { FileProvider = env.ContentRootFileProvider });后设置它 -
是否适用于其他文件类型,如图片、css、js等?
-
不,它也不适用于静态文件。
标签: c# linux asp.net-core nginx asp.net-core-mvc