ASP.NET Core MVC: ответ статического файла с префиксом при использовании входной перезаписи nginxC#

Место общения программистов C#
Ответить
Anonymous
 ASP.NET Core MVC: ответ статического файла с префиксом при использовании входной перезаписи nginx

Сообщение Anonymous »

Я не разработчик .NET, но должен предоставить клиенту образец основного веб-приложения ASP.NET (модель-представление-контроллер). Но у меня возникла проблема при развертывании его в Kubernetes.Например, когда я нажимаю кнопку «Конфиденциальность», я получаю ошибку 404.
Изображение

Код: Выделить всё

//ex.
// root
www.example.com/custom/path

// Desired
www.example.com/custom/path/Home/Privacy

// Actual - 404 error as ingress cannot route it.
www.example.com/Home/Privacy
Код[/b]
Я использую nginx-ingress для маршрутизации трафика.Вход выглядит (с использованием перезаписи)

Код: Выделить всё

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
//...
// I have to use rewrite
nginx.ingress.kubernetes.io/rewrite-target: /$1
//...

spec:
ingressClassName: nginx
rules:
- host: www.example.com
http:
paths:
- backend:
service:
name: dotnet-service
port:
number: 8080
path: /custom/path/?(.*)
pathType: ImplementationSpecific

Код: Выделить всё

Program.cs

Код: Выделить всё

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddControllersWithViews();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
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.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");

app.Run();

Код: Выделить всё

Views/Shared/_Layout.cshtml

Код: Выделить всё



@* Add below line for setting prefix for href in link tag *@

@* ... *@
[*]







MVPPractice




[list]

Home

[*]
Privacy

[/list]





@* ...  *@




@await RenderSectionAsync("Scripts", required: false)


Как установить префикс для статических ответов файлов?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ngress-rew
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»