iT邦幫忙

2025 iThome 鐵人賽

DAY 24
1
Software Development

30 天的 .Net gRPC 迷途系列 第 24

Day24 Server 部署

  • 分享至 

  • xImage
  •  

在 .NET 平台上部署 gRPC 服務主要有三種方式:

*透過 IIS 部署於 Windows 平台
*使用 Kestrel 執行於 Windows/Linux,並註冊為系統服務
*封裝於 Docker 容器中部署

在採用 Kestrel 方式部署時,需特別留意相關設定。例如,以下為典型的 appsettings.json 配置:

{
  "Kestrel": {
    "EndpointDefaults": {
      // 建議設定為同時支援 Http1 和 Http2,提升相容性
      "Protocols": "Http1AndHttp2"
    },
    "Endpoints": {
      "Http": {
        // 在 Docker 或 Linux 環境下,服務必須綁定在 0.0.0.0,外部才能正常連線
        // 請視實際需求設定對應的 Port
        "Url": "http://0.0.0.0:50051"
      }
    }
  }
}

需要注意的是,如果服務是註冊到 IIS,上述 Kestrel 的設定將不會生效,因為 IIS 會接管所有的 HTTP 管線設定。

綜合來看,若考慮跨平台部署與彈性調整配置,建議優先考慮以 Kestrel 執行的方式。這不僅利於於不同環境調整設定,也有利於未來若需遷移至 Docker 等現代化部署架構時的整合。


上一篇
Day23 gRPC 的 StatusCode 處理
下一篇
Day25 gRPC Gateway
系列文
30 天的 .Net gRPC 迷途26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言