部署时如何控制kestrel端口?

How to control the kestrel port during deployment?

在开发过程中,我使用 launchSettings.json 文件控制 http 和 https 端口,如下所示:

在部署到生产期间使用相同的方法来控制 kestrel 端口是否正确?或者我是否需要在 appsettings.json 或任何其他文件中进行任何端口配置?

因为launchSettings.json为开发环境工作Development and launchSettings.json

您可以通过多种方式在 Kestrel endpoints 中为生产环境设置端口

指定 URLs 使用:

  • ASPNETCORE_URLS 环境变量。

  • 使用 dotnet--urls command-line 参数。

    dotnet yourdll.dll --urls http://+:2222

  • UseUrls扩展方法。

  • urls 主机配置密钥。

如果我们要设置 Kestrel 端点按照节点设置 URL 为您的项目应用程序设置。

Kestrel / EndPoints / Http / Url

{
  "Kestrel": {
    "Endpoints": {
      "Http": {
        "Url": "http://+:2222"
      }
    }
  }
}

备注

但我建议您添加NginxCertbot作为反向代理,而不是设置端口并暴露给外部连接。