今天学习nacos集群模式的时候使用nginx来做为nacos集群的vip,配置的集群名是nacos_cluster,服务启动后访问nginx反向代理地址竟然报400-Bad Request。网上查阅资料得知,高版本的tomcat遵循了RFC1-1034规范,新增了对host名称的校验,所以集群服务在使用高版本的tomcat时,如果host名称中带有下划线,tomcat会认为是非法请求给予驳回。
解决办法:
1、修改nginx中的集群名

nginx.conf
2、不使用nginx中的集群名去访问集群服务

nginx.conf
所以,以后nginx在配置upstream的时候不能使用带有下划线的名称,还有最好在location位置上加上proxy_set_header HOST $host;