Я пытаюсь развернуть. NET Core 3.1 API + Angular до Linux Centos работает на сервере, но браузер не может открыть его должным образом. Если я опубликую sh тот же проект для windows и запускаю его с помощью cmd, он запускается без проблем. При развертывании я получаю следующие случаи в соответствии с тем, что я ввел в конфигурацию nginx:
localhost:5020/weatherforcast - > I get the API's built in json returning functionality.
localhost:5020/Index.html - > I get index html but only <title> loads and *.js and *.css is not found /so blank white screen with bar title/.
localhost:5020 - > I get 404
У меня тоже нет никакой маршрутизации. Вот как выглядит мой метод запуска Configure: publi c void Configure (приложение IApplicationBuilder, enw IWebHostEnvironment) {if (env.EnvironmentName == Microsoft.Extensions.Hosting.Environments.Development) {app.UseDeveloperExceptionPage (); }
app.Use(async (context, next) =>
{
await next();
if (context.Response.StatusCode == 404 && !Path.HasExtension(context.Request.Path.Value))
{
context.Response.StatusCode = 200;
context.Request.Path = "/index.html";
await next();
}
});
// if (env.EnvironmentName == Microsoft.Extensions.Hosting.Environments.Development) app.UseHttpsRedirection();
app.UseRouting();
if (env.EnvironmentName == Microsoft.Extensions.Hosting.Environments.Development)
{
app.UseCors(builder => builder
.WithOrigins("http://localhost:4200")
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()
);
}
else
{
app.UseStaticFiles();
app.UseDefaultFiles();
}
app.UseAuthentication();
app.UseAuthorization();
app.UseHsts();
app.UseResponseCompression();
app.UseMiddleware<Middlewares.SeederMiddleware>();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapHub<RecievedMessagesHub>("/unread-messages");
endpoints.MapHub<RecipeDetailsTrackHub>("/recipe-details");
});
}
и это моя Nginx настройка:
server {
listen 80;
server_name app123.tk www.app123.tk;
location / {
proxy_pass https://localhost:5020;
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;
}
}
И вот что в журналах Nginx говорится:
[error] 5349#0: *92 connect() failed (111: Connection refused) while connecting to upstream, client: X.X.X.X, server: app123.tk, request: "GET / HTTP/1.1", upstream: "https://127.0.0.1:5020/", host: "www.app123.tk".
У меня нет такие проблемы, если я запускаю не angular приложение MVC на том же порту с той же настройкой Nginx.