ресурсы не найдены с asp. net ядром 3.1 + linux nginx (проблема с файлами stati c?) - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь запустить приложение asp. net core 3.1 MVC на моем raspberry pi 4. Приложение с его файлами ресурсов (img, css ...) прекрасно работает при отладке IIS mode (windows).

Я следовал этому руководству, чтобы настроить среду linux: tuto Приложение хорошо запускается в linux, но ресурсов на страницах нет.

Итак, я проверил в Microsoft c страниц о Stati c файлах: Stati c Files и других учебниках. В основном они объясняют, как изменить путь к каталогу ресурсов, но это не моя проблема. Я просто хотел бы, чтобы сначала он работал с wwwroot.

Я ничего не изменил в файле startup.cs, как вы можете видеть:

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersWithViews();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
            // 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();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "default",
                pattern: "{controller=Home}/{action=Index}/{id?}");
        });
    }
}

Ни в файле program.cs:

public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }

nginx содержимое файла конфигурации:

server {
    listen        80 default_server;
    server_name   _;
    location / {
        proxy_pass         http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}

У вас есть идеи, пожалуйста, как это исправить? Спасибо за чтение этого:)

1 Ответ

1 голос
/ 22 апреля 2020

Проблема решена: stati c файлы ожидались в / home / user вместо того, где я настроил приложение

...