【问题标题】:ASP.NET Core Kestrel dynamic portASP.NET Core Kestrel 动态端口
【发布时间】:2016-02-10 17:22:16
【问题描述】:

我们可以在 project.json 中将动态端口分配给 Kestrel 而不是这个吗?

"web": "Microsoft.AspNet.Server.Kestrel server.urls=http://localhost:5001"

我打算使用 docker 来部署代码,为此我希望它采用通过像 http://0.0.0.0:0 或其他方式指定的“0”值分配的端口。然后我可以从 docker 检测端口,然后使用负载均衡器指向它。

请告诉我。

【问题讨论】:

  • 能否保留容器端口5001,让Docker分配一个主机端口?如果这样做,容器内的应用程序仍然可以侦听 0.0.0.0:5001,但在外部,您将使用分配的主机端口访问容器。
  • 好的,但我仍然想看看如何通过命令行至少传递端口,作为本地主机:(端口),docker是我想要这种情况的情况之一。例如,我还想在 docker 之外使用负载均衡器进行测试,

标签: asp.net-core


【解决方案1】:

web 只是Microsoft.AspNet.Server.Kestrel server.urls=http://localhost:5001 的别名

这意味着您可以像这样通过命令行在任何端口上启动应用程序...

dnx Microsoft.AspNet.Server.Kestrel server.urls=http://localhost:12345

您也可以使用环境变量。在 bash 中...

$ MY_PORT=33333
$ dnx Microsoft.AspNet.Server.Kestrel server.urls=http://localhost:$MY_PORT
Hosting environment: Production
Now listening on: http://localhost:33333
Application started. Press Ctrl+C to shut down.

【讨论】:

  • 有没有办法在应用运行时添加监听 URL?
猜你喜欢
  • 2020-08-06
  • 1970-01-01
  • 2022-10-09
  • 2020-05-20
  • 2018-02-20
  • 2018-03-02
  • 2019-10-10
  • 2017-12-25
相关资源
最近更新 更多