Spring Boot Config Server客户端访问服务端返回状态码-1问题求助
问题可能原因及解决方法
1. Config Server未开启native配置 profile
使用本地文件作为配置存储源时,必须在服务端配置中显式开启native profile,你的服务端配置中缺少该配置,会导致native相关配置不生效,服务端接口无法正常响应请求。
在服务端yaml中添加如下配置即可:
spring: profiles: active: native
2. 服务端依赖或版本适配问题
- 确认服务端已引入
spring-cloud-config-server官方starter依赖 - 确认Spring Boot与Spring Cloud的版本匹配,版本不兼容会导致服务端接口异常,返回非标准HTTP响应
3. 9001端口被非web服务占用
如果9001端口被非HTTP服务占用,客户端发送HTTP请求后收到的不是标准HTTP协议返回内容,就会触发Invalid Http response、httpStatusCd=-1的报错。
可以通过以下命令验证端口占用情况:
- Windows系统:
netstat -ano | findstr "9001" - Linux/Mac系统:
lsof -i:9001
如果占用9001端口的不是你启动的Config Server进程,修改服务端端口或者结束占用进程即可。
4. 本地配置路径或文件不合法
- 确认
${HOME}/Desktop/config2路径真实存在,路径中无特殊字符、权限问题 - 确认该路径下存在符合命名规范的客户端配置文件,命名规则为
{应用名}-{profile}.{后缀},比如对应你的场景需要有client-server-local.yml或者client-server-local.properties文件
5. 本地代理配置干扰
如果开启了系统代理、VPN,确认代理规则没有把localhost的请求转发到外部,导致请求被发送到错误的服务节点。
验证方式:直接在浏览器访问http://localhost:9001/client-server/local,如果能正常返回JSON格式的配置内容,说明服务端本身正常,再排查客户端配置问题;如果无法访问或返回非JSON内容,优先排查服务端问题。
内容的提问来源于stack exchange,提问作者clovenstone
相关产品推荐
相关产品推荐

