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 微服务功能,如何实现轻松的版本升级功能。