com.alibaba.nacos.api.exception.NacosException: <html><body><h1>Whitelabel Error Page</h1><p>This ap

当Nacos开启了认证配置nacos.core.auth.enabled=true时,在相应的微服务应用内需要配置连接Nacos1.3.2的账号:也就是使用spring.cloud.nacos.username和spring.cloud.nacos.password进行配置,正常应用连接是没问题的,但是发现如果应用内使用了spring-cloud-starter-oauth2这个包,项目启动时虽然能正常注册到Nacos并且配置中心的配置也能正常读取,但是控制台会抛出以下错误:

[2021-12-22 11:33:03.187] -- [ERROR] -- [com.alibaba.nacos.naming.beat.sender >>>> NamingProxy.java:617 >>>> Method = callServer] -- [Content = [NA] failed to request]
com.alibaba.nacos.api.exception.NacosException: <html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>Wed Dec 22 11:33:03 CST 2021</div><div>There was an unexpected error (type=Bad Request, status=400).</div><div>receive invalid redirect request from peer 124.71.224.54</div></body></html>
	at com.alibaba.nacos.client.naming.net.NamingProxy.callServer(NamingProxy.java:615)
	at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:541)
	at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:498)
	at com.alibaba.nacos.client.naming.net.NamingProxy.sendBeat(NamingProxy.java:433)
	at com.alibaba.nacos.client.naming.beat.BeatReactor$BeatTask.run(BeatReactor.java:167)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
[2021-12-22 11:33:03.187] -- [ERROR] -- [com.alibaba.nacos.naming.beat.sender >>>> NamingProxy.java:552 >>>> Method = reqApi] -- [Content = request: /nacos/v1/ns/instance/beat failed, servers: [192.168.0.116, 192.168.0.57, 192.168.0.60:8848], code: 500, msg: <html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>Wed Dec 22 11:33:03 CST 2021</div><div>There was an unexpected error (type=Bad Request, status=400).</div><div>receive invalid redirect request from peer 124.71.224.54</div></body></html>]
[2021-12-22 11:33:03.188] -- [ERROR] -- [com.alibaba.nacos.naming.beat.sender >>>> BeatReactor.java:198 >>>> Method = run] -- [Content = [CLIENT-BEAT] failed to send beat: {"port":20884,"ip":"192.168.0.60","weight":1.0,"serviceName":"DEFAULT_GROUP@@providers:com.alibaba.cloud.dubbo.service.DubboMetadataService:1.0.0:distributor-server-v2","metadata":{"side":"provider","methods":"getAllServiceKeys,getServiceRestMetadata,getExportedURLs,getAllExportedURLs","release":"2.7.8","deprecated":"false","dubbo":"2.0.2","pid":"890508","interface":"com.alibaba.cloud.dubbo.service.DubboMetadataService","version":"1.0.0","generic":"false","revision":"2.2.6.RELEASE","path":"com.alibaba.cloud.dubbo.service.DubboMetadataService","protocol":"dubbo","metadata-type":"remote","application":"distributor-server-v2","dynamic":"true","category":"providers","anyhost":"true","group":"distributor-server-v2","timestamp":"1640143968014"},"scheduled":false,"period":5000,"stopped":false}, code: 500, msg: failed to req API:/nacos/v1/ns/instance/beat after all servers([192.168.0.116, 192.168.0.57, 192.168.0.60:8848]) tried: ErrCode:400, ErrMsg:<html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>Wed Dec 22 11:33:03 CST 2021</div><div>There was an unexpected error (type=Bad Request, status=400).</div><div>receive invalid redirect request from peer 124.71.224.54</div></body></html>]

在这里插入图片描述
解决:
第一种情况:
nacos的集群ip设置的是外网,但是项目一开始设置的是内网,启动的时候将他的内网ip:8848配置到了某个节点的cluster.conf里面了,导致后面项目改成外网的时候还是报这个错,删掉那个内网ip:8848好了

spring:
  application:
    name: distributor-server-v2
  cloud:
    nacos:
      discovery:
        # server-addr: 外网ip:8848,外网ip:8848,外网ip:8848
        server-addr: 124.71.228.245:8848,124.70.107.22:8848,124.71.224.54:8848
        namespace: dffee695-6cd5-47b2-9fed-3de324b46e98
      config:
        # server-addr: 外网ip:8848,外网ip:8848,外网ip:8848
        server-addr: 124.71.228.245:8848,124.70.107.22:8848,124.71.224.54:8848
        file-extension: yaml
        namespace: dffee695-6cd5-47b2-9fed-3de324b46e98
        group: distributor
        ext-config:
          - data-id: distributor-server.yaml
            group: distributor
            refresh: true
          - data-id: application.yaml
            group: distributor
            refresh: true
          - data-id: application.properties
            group: distributor
            refresh: true


dubbo:
  # dubbo 服务扫描基准包
  scan:
    base-packages: com.iwarm
  protocol:
    name: dubbo
    port: ${dubbo_port:20884}
  registry:
    # address: nacos://外网ip,外网ip,外网ip
    address: nacos://124.71.228.245,124.70.107.22,124.71.224.54
    port: 8848
    parameters[namespace]: dffee695-6cd5-47b2-9fed-3de324b46e98
    use-as-config-center: false
  application:
    name: distributor-server-v2
    # dubbo 运维服务是否开启
    qos-enable: false
  consumer:
    # 启动时就检查依赖的服务
    check: false
  # 配置订阅服务
  cloud:
    subscribed-services: 'cw-server-v2'

第二种情况:
如果不是上述情况,可以将所有集群重启,甚至是清空data文件夹后再重启。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值