You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过appsettings.json配置Kestrel绑定多个HTTP及HTTPS地址

结论

你的判断是错误的,Kestrel 原生支持通过 JSON 配置实现多域名、多地址监听,有两种常用的配置方式可以满足你的需求。


方式一:独立端点配置(推荐,灵活度最高)

EndPoints 节点下支持自定义多个子节点,每个子节点对应一个监听地址,节点名称可任意自定义,只要不重复即可,示例配置如下:

"Kestrel": {
  "EndPoints": {
    "Http_Foo": {
      "Url": "http://foo:12912"
    },
    "Http_Bar": {
      "Url": "http://bar:12912"
    },
    "Https_Foo": {
      "Url": "https://foo:443",
      "Certificate": {
        "Path": "foo.pfx",
        "Password": "your_cert_password"
      }
    },
    "Https_Bar": {
      "Url": "https://bar:443",
      "Certificate": {
        "Path": "bar.pfx",
        "Password": "your_cert_password"
      }
    }
  }
}

如果你的多个HTTPS域名共用同一份证书,也可以把证书配置提至Kestrel根节点,不用每个端点重复配置。如果需要在同一个HTTPS端口监听多个域名,确保服务端和客户端都支持SNI即可,.NET 5及以上版本默认支持SNI。


方式二:全局Urls批量配置

如果不需要为每个端点单独配置证书、限流等差异化规则,也可以直接在Kestrel根节点配置Urls属性,多个地址用分号分隔即可:

"Kestrel": {
  "Urls": "http://foo:12912;http://bar:12912;https://foo:443;https://bar:443",
  "Certificates": {
    "Default": {
      "Path": "common.pfx",
      "Password": "your_cert_password"
    }
  }
}

这种方式所有HTTPS端点都会共用根节点配置的默认证书,适合证书统一的场景。


内容的提问来源于stack exchange,提问作者Nikhil Agrawal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 19:54:00