В ASP.NET Core 2.1 сервер Kestrel переключился на транспортную реализацию «Сокеты», которая поддерживает только IP-сокеты.
Чтобы использовать сокеты UNIX, транспортная реализация «LibUV» должна бытьиспользуется вместо этого.
Для этого измените код запуска, чтобы выбрать транспорт LibUV:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseLibuv()
.UseUrls("http://unix:/var/run/myapi.sock")
.UseStartup<Startup>();
, а затем измените файл csproj, чтобы он ссылался на метапакет Microsoft.AspNetCore.All
вместо .App
метапакет:
<ItemGroup>
<!-- Change to ".All" if this was ".App" -->
<PackageReference Include="Microsoft.AspNetCore.All" />
</ItemGroup>