火山引擎CLB配置注意事项
- 健康检查配置
如果健康检查接口有uri,那么一定要写上host头。因为如果不写,后山slb默认是不带host,那后端的nginx会返回404。因为http1.1协议强制要求有host,一般nginx server_name配置也不会配置空host头。
为什么会这样?是因为如果配置了host头,slb健康检查就走七层;如果不配置,默认会使用IP+端口,健康检查先走3层进行网络进行确认,然后再发GET请求,这个时候请求里默认不会带host。
这个破问题折腾了将近3个小时,最后还是找客户才知道。给他们提bug需求里,如果监测到有uri,就默认走7层。阿里云没有碰到这些问题,加油吧,火山!
图1: 本机测试接口是正常的。
火山CLB健康检查配置页面