Я использую несколько микро сервисов на сервере Windows 2016, используя ядро asp.net и HttpSys.
У меня проблема с тем, что сервер возвращает 404 даже по адресу, который не определен службами в качестве базы или префикса.
Например:
Микро-сервис прослушивает http://*/info/api/1.0 как базовый адрес
WebHost.CreateDefaultBuilder(args)
.UseHttpSys(options =>
{
options.Authentication.Schemes = AuthenticationSchemes.Negotiate;
options.Authentication.AllowAnonymous = false;
})
.UseStartup<Startup>()
.UseContentRoot(contentRootPath)
.UseUrls("http://*/info/api/1.0")
.ConfigureLogging((hostingContext, logging) =>
{
// logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
logging.ClearProviders();
logging.AddConsole();
})
.UseNLog()
.Build();
Как только эта служба работает, запрос на адрес, такой как http://servername/missingservice/api/1.0/test, возвращает 404
Есть ли способ настроить httpsys, чтобы можно было сделать разницу между
- нет службы прослушивания на адресном пути
- ресурс не найден в конкретной службе
Спасибо за ваш отзыв и помощь