点击上方蓝色“飞雪无情”关注我,设个星标,第一时间看文章
在上一篇文章中,我讲解了反向代理中的负载均衡,一个上游主机要想被使用到的前提:就是该主机必须可用?那么怎么才算可用呢?这涉及到Caddy的健康检查,和Nginx的类似。
什么是健康检查
比如我们做体验,其实就是对我们自己身体做一个健康检查,判断身体是否健康。那么对于我们的上游主机服务,其实也一样,只要做了健康检查,才能知道这个上游是否健康,是否可用。
健康检查根据方式不同,又分为主动健康检查和被动健康,同样的Caddy也支持这两种检查方式,下面就先为你介绍主动健康检查。
主动健康检查
主动,从字面上看,是主动发起的,所以主动健康检查,也就是Caddy主动发起的对上游主机服务的健康检查,它的Caddyfile配置格式如下所示:
reverse_proxy [<matcher>] [<upstreams...>] {
# backends
to <upstreams...>
...
# active health checking
health_uri <uri>
health_port <port>
health_interval <interval>
health_timeout <duration>
health_status <status>
health_body <regexp>
health_headers {
<field> [<values...>]
}
}
health_uri
:设置Caddy主动发起健康检查的URI,可以有path和query查询参数health_port
:设置健康检查URL的端口,如果和上游主机端口一样,就不用单独设置,一般不设置。health_interval
:主动健康检查的周期,也就是多久发起一次主动健康检查,默认是30秒。health_timeout
: