分布式域名收敛问题

分布式系统域名收敛

地址:https://segmentfault.com/q/1010000020539368

标签:Nginx

描述:

分布式系统, 假设有3个, 目前的域名是多个二级域名, 每个二级域名线上申请对应的https域名跟证书, 但是前不久公司要求做域名收敛, 就是都用同一个域名, nginx转发 那么有个问题:

同一个域名, 通过域名后的.com/X 这个X来转发决定是哪个系统, 那么这边的nginx是怎么设置的呢, (1) 直接匹配转发到端口,但是这样负载均衡只能是简单策略 (2)如果是转发到对应二级域名(没申请https), 那么用的是80端口还是443端口呢, 443貌似做不了, 没有证书, 80的话, 那得写host,这样感觉不太优雅?

回答:

我不是专业运维,随便瞎扯扯吧。

第一个问题,为什么做不了负载均衡吗?

之前的情况是,每个域名是一个系统,类似下面这样吧。

clipboard.png

现在域名收敛,每个 /X 对饮访问一个系统。负载均衡肯定针对的是每个独立的子系统,如果是 nginx 配置,不能为每个 location 配置单独的 upstream 吗?每个 upstream 就是每个子系统的负载均衡。

第二个问题,转发二级域名意思是根据 Location 转发到二级域名吗?内部转发规则都是你自己控制的,可以不用转发到二级域名了,直接写 IP 也行,或者建自己的 DNS 服务,设置一套规则,用于代理的内部服务转发。https 一般都是用于外部服务吧,内部的代理转发,http 就可以了。

我想的图是这样的。如下:

clipboard.png

这是中非常简单的思路,当然,如果每个系统是由很多的服务器支持,负载均衡效果。