我有簡單的方法
public static IHostBuilder CreateHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(builder => builder.UseStartup<Startup>());
}
我正在寫appsettings:
"Kestrel": {
"EndpointDefaults": {
"Protocols": "Http1AndHttp2"
},
"Endpoints": {
"Api": {
"Url": "https:// :5005",
"Protocols": "Http1AndHttp2"
},
"Grpc": {
"Url": "http:// :5006",
"Protocols": "Http2"
}
}
}
但是當我啟動應用程式時,我看到警告:
"Microsoft.AspNetCore.Server.Kestrel", "message": "Overriding address(es) 'https:\/\/localhost:5000, https:\/\/localhost:5001'. Binding to endpoints defined in UseKestrel() instead.", "addresses": "https:\/\/localhost:5000, https:\/\/localhost:5001
", "methodName": "UseKestrel()" }
和應用程式從標準埠 5000 開始,但我希望在埠 5005
為什么 Kestrel 更改啟動埠以及如何使應用程式在給定的 https://localhost:5005/api-docs/someService 上啟動(我使用的是 swagger)
uj5u.com熱心網友回復:
正如在您的應用程式啟動時所說,只需在UseKestrel()
return Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(builder => builder.UseKestrel(x=>x.Listen(IPAddress.Any, 5005)).UseStartup<Startup>());
uj5u.com熱心網友回復:
您可以通過多種方式在 Kestrel 端點中設定埠
配置
跟隨節點為您的專案設定 URL。
Kestrel / EndPoints / Http / Url
{
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http:// :5005"
}
}
}
}
使用引數運行dotnet命令列--urls
dotnet yourdll.dll --urls http:// :5005
筆記
但我建議您添加Nginx或Certbot成為反向代理,而不是設定埠并暴露給外部連接。
uj5u.com熱心網友回復:
我發現我需要感覺launchSettings.json
"launchUrl": "https://localhost:5005/api-docs/SomeService"
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/459686.html
上一篇:如何在自定義ReadOnlySequence實作結束時修剪零?
下一篇:“瀏覽器”指的是哪個平臺?
