首页 > 编程知识 正文

微服务 网关 选型,nacos网关配置

时间:2023-05-03 05:06:30 阅读:144417 作者:4450

构建微服务时,发现网关一直注册,无法注册到nacos,其他服务继续向网络错误报告

首先从依赖开始,直接从可能存在版本冲突的Alibaba云代理引入nacos

接下来,对web模块进行故障诊断

ependencygroupidorg.spring framework.cloud/groupidartifactidspring-cloud-starter-gateway/artifact id/从属---服务注册--- -从属cygroupidcom.Alibaba.cloud/groupidartifactidspring-cloud-starter-Alibaba--

控制台错误noservicetoregisterfornacosclient

检查application.properties配置信息没有效果

server.port=80s pring.application.name=service-gateway # nacos spring.cloud.nacos.discovery.server-addr=

继续故障诊断可能是filter 关键 GlobalFilter错误

//要判断是否为开放api,请使用在token中设定的访问失败的返回方法@ configurationpublicclassgatewayglobalfilterimplementsglobalfilter, 不是确定是否包含ordered { @ autowiredprivaater } @ overridepublicmonovoidfilter (serverwebexchangeexchange, GatewayFilterChain chain ) { string URL=exchange.getrequest } if (urlopen filter.get whitelist (.contains (URL ) ) ) reted } serverhttpresponseresp=exchange.getresponse (; string token=exchange.getrequest ().getHeaders ).getfirst ) ' authorization ' ); ////token为空if(stringutils.isempty ) token ) returnsetunauthorizedresponse (resp,'请登录'); }returnchain.filter(exchange; } @Override public int getOrder () { return 0; }隐私保护状态代码(serverhttpresponseresp,String mess ) http status.unauthooddus charset=UTF-8 '; baseresultreturndata=新base result (401,mess,mess ); 字符串返回str=' '; try { return str=object mapper.writevalueasstring (return data ); } catch (jsonprocessingexceptione ) ) databufferbuffer=resp.buffer factory ).wrap(returnstr.getbytes )标准目录}还是不行,直接分析调试源代码,发现配置文件问题还是无法获取spring.application.name

查看项目结构

在目标中发现未加载到配置文件设置资源文件夹中的标记目录as资源根

配置文件加载成功nacos已成功注册到网关

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。