在多环境开发的时候,rpc调用使用feign ,线上环境使用短域名通过k8s的core-dns 进行服务发现,调用是没有问题的;在本地调试的时候,需要将下游服务通过kong(nginx代理出来,进行本地调用),此时使用feign调用可以通讯,但是解析响应报文失败,报错
Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) ...
使用短域名调用的时候, 不走nginx,所以都是原始报文交互,但是在本地调用的时候,调用线上环境需要经过nginx-ingress 代理才能访问到k8s集群中的服务,nginx 开启了 gzip, 所以响应的报文是压缩格式的,json是不能解析的
在dev环境,使用如下配置
feign.compression.request.enabled = true
feign.compression.response.enabled = true
feign.compression.response.useGzipDecoder = true