Taurus.MVC 微服務框架 入門開發教程:項目部署:2、讓Kestrel支援綁定多個域名轉發,替代Ngnix使用。

系列目錄:

本系列分為項目集成、項目部署、架構演進三個方向,後續會根據情況調整文章目錄。

本系列第一篇:Taurus.MVC V3.0.3 微服務開源框架發布:讓.NET 架構在大並發的演進過程更簡單。

Taurus.MVC 微服務框架 入門開發教程:項目集成:1、服務端:註冊中心、網關。

Taurus.MVC 微服務框架 入門開發教程:項目集成:2、客戶端:ASP.NET(C#)程式語言項目集成:應用中心。

Taurus.MVC 微服務框架 入門開發教程:項目集成:3、客戶端:其它程式語言項目集成:應用中心。

Taurus.MVC 微服務框架 入門開發教程:項目集成:4、默認安全認證與自定義安全認證。

Taurus.MVC 微服務框架 入門開發教程:項目部署:1、微服務應用程式常規部署實現多開,節點擴容。

Taurus.MVC 微服務框架 入門開發教程:項目部署:2、讓Kestrel支援綁定多個域名轉發,替代Ngnix使用。

Taurus.MVC 微服務框架 入門開發教程:項目部署:3、微服務應用程式版本升級。

Taurus.MVC 微服務框架 入門開發教程:項目部署:4、微服務應用程式發布到Docker部署(上)。

Taurus.MVC 微服務框架 入門開發教程:項目部署:5、微服務應用程式發布到Docker部署(下)。

Taurus.MVC 微服務框架 入門開發教程:項目部署:6、微服務應用程式Docker部署實現多開。

Taurus.MVC 微服務框架 入門開發教程:架構演進:1、從單應用程式簡單過渡到負載均衡。

Taurus.MVC 微服務框架 入門開發教程:架構演進:2、負載均到模組拆分負載。

Taurus.MVC 微服務框架 入門開發教程:架構演進:3、模組拆分負載到多級負載均衡。

前言:

對於ASP.Net Core 項目,部署在Linux時,默認Kestrel不支援綁定域名。

對於需要綁定域名的,往往需要引入第三方,如:Nginx等配套使用。

而今天介紹的教程,則可以借Taurus.MVC 微服務架構的方式,直接替代Nginx使用。

下面看具體教程:

1、使用簡單負載均衡架構模式:註冊中心+應用中心

 

如果成為註冊中心、或應用中心,可以看本系列第一篇,文章開頭有鏈接。

2、註冊中心:運行時綁定監聽80埠:

說明:

1、綁定80埠,也即默認是接收所有的域名(只要解析到這個IP的80埠)

2、如果要綁定https,可以參考網上其它證書的添加,Kestrel是支援https和證書添加的。

3、註冊中心默認也可以當網關使用的。

其appsettings.json配置項大約為:

{
  "AppSettings": {
    "MicroService.Server.Name": "RegCenter",//設置為服務端運行的:註冊中心

    "Host": "[http|https]://*:80"
  }
}

必要配置僅需要將微服務配置為註冊中心,然後綁定80埠即可。

需要配置https證書的,自行網上搜索教程即可。

然後靜靜等待應用中心上門即可。

3、應用中心:模組註冊名稱填寫要綁定的:域名即可。

說明:

1、配置客戶端模組名稱為需要綁定的域名,如:xxx.xxx.com

2、指定註冊中心的地址。

其appsettings.json配置項大約為:

{
  
  "AppSettings": {
    "MicroService.Client.Name": "www.a.com",
    "MicroService.Client.RegUrl": "//localhost:80",

    "MicroService.App.RunUrl": "//localhost:0",
    "Host": "//*:0"
  }
}

這裡內部僅配置http即可,因為它只與註冊中心通訊,內部通訊無需要https。

結合上一篇教程:Taurus.MVC 微服務框架 入門開發教程:項目部署:1、微服務應用程式常規部署實現多開,節點擴容。

可以簡單實現負載均衡,想開多少個,就運行啟動.NET程式多少次,不需要修改任何配置。

4、多個域名多個項目:

重複步驟三即可,當然,註冊中心(當前即網關)也需要部署相應的https證書。

5、運行演示結果示例:

流程:

1、註冊中心監聽5000埠。

2、應用中心註冊www.a.com域名。

3、訪問:www.a.com:5000的請求

運行結果:

 

 

總結:

通過Taurus.MVC 微服務功能,以前Kestrel無法支援域名綁定的問題,就此實現了。

下一篇,講述利用Taurus.MVC 微服務功能,如何實現輕鬆的版本升級功能。