Gateway 根据服务名路由失败,报错 Service Unavailable, status=503

这篇具有很好参考价值的文章主要介绍了Gateway 根据服务名路由失败,报错 Service Unavailable, status=503。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

记一次路由转发失败的经历

我的SpringBoot版本为2.6.6,本篇文章对于跟我差不多版本的同学应该都适用。

使用gateway+nacos,yaml配置如下,这里使用的是服务名称进行转发:

server:
  port: 10010

spring:
  application:
    name: @artifactId@
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848 # nacos地址

    gateway:
      discovery:
        locator:
          enabled: true
      routes:
        - id: blogtest # 路由标识,必须唯一
          uri: lb://blogtest # 路由的目标地址,lb为load balance,负载均衡
          predicates: # 路由断言,判断请求是否符合规则
            - Path=/test/**  # 判断请求是否以/user开头

pom文件如下:

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-gateway</artifactId>
    </dependency>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
</dependencies>

然后就出现了服务无法访问的情况,一直报错

Whitelabel Error Page

This application has no configured error view, so you are seeing this as a fallback.

Wed May 18 15:38:29 CST 2022

[fd8c3a90-7] There was an unexpected error (type=Service Unavailable, status=503).

关键是控制台也没报错,很正常的那种,就很让我怀疑是自己的问题。

后面把路由地址改了一下,改成了使用http地址进行转发:

    gateway:
      routes:
        - id: blogtest
          uri: http://127.0.0.1:1236 # 这里改了
          predicates:
            - Path=/test/** 

然后再到浏览器发送请求,成功了,可以正常访问。

想了一下觉得可能是Nacos版本和我项目的依赖版本不匹配的问题,还去把Nacos降级了一波,结果还是不行。

原因

后面看到一篇博客:https://blog.csdn.net/qq_41953714/article/details/116239716

在pom.xml文件中添加了一个依赖:

<!--客户端负载均衡loadbalancer-->
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

重新启动,果然可以了。

原因引用原作者的话

由于springcloud2020弃用了Ribbon,因此Alibaba在2021版本nacos中删除了Ribbon的jar包,因此无法通过lb路由到指定微服务,出现了503情况。

所以只需要引入springcloud loadbalancer包即可

小提示
如果以上方法对你无效,请注意你的项目是否是由于其他原因造成的无法访问,请观察以下几点:

  • 你访问到的页面上是否有“Whitelabel Error Page”这几个大字
  • 你的错误代码是不是503

如果你出现的情况和我不一样的话,那可能不是由于Gateway转发导致的异常,可能是由于tomcat或者其他原因导致的。文章来源地址https://www.toymoban.com/news/detail-400452.html

到了这里,关于Gateway 根据服务名路由失败,报错 Service Unavailable, status=503的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【异常】SpringCloud Gateway报错503 SERVICE_UNAVAILABLE “Unable to find instance for xxx-gen“

    网关服务报错,如下 “503 SERVICE_UNAVAILABLE”: “这是一个HTTP状态码,表示服务暂时不可用。 这通常是因为服务器过载或正在进行维护。”, “xxx-gen”: “这可能是一个应用程序或服务的名称,‘Unable to find instance for apb-gen’ 表示系统无法为这个应用或服务找到实例,可能因为

    2024年02月05日
    浏览(32)
  • SpringCloud Gateway:status: 503 error: Service Unavailable

    使用SpringCloud Gateway路由请求时,出现如下错误 yml配置如下: 可能的一种原因是:yml配置了gateway.discovery.locator.enabled=true,此时gateway会使用负载均衡模式路由请求,但是SpringCloud Alibaba删除了Ribbon的依赖,无法通过负载均衡路由到指定的微服务,因此出现503报错。需要在pom中手

    2024年02月12日
    浏览(26)
  • 关于spring cloud gateway中出现503 Service Unavailable的问题

    1.引用spring cloud gateway+nacos配置中心 2.微服务+分布式(本节与分布式问题无关)项目 3.路由规则:网关端口:8085;第三方端口:8081,8086 第三方单独访问路径localhost:8081/test/getUserTest?id=2 希望路由到:localhost:consumer-service/test/getUserTest?id=2 (这里我写了两个消费者服务,服务名一致

    2024年02月01日
    浏览(34)
  • 503 service unavailable 错误怎么解决?503 service unavailable 错误的解决方法。

    1.访问出现503 service unavailable,但刷新一下又能正常访问 一般像上面这种情况的话,大多数都是由于网站超过了系统资源,超过IIS限制所导致的,我们需要增加IIS连接数便可以解决了。 2.没有限制IIS连接数,还是会提示503 service unavailable 这种情况大多数出现在使用access数据库

    2024年02月08日
    浏览(42)
  • 又一次503 service unavailable处理

    出现了:503 service unavailable 1)查看系统日志 通过事件查看器,查看iis的日志,如下: 在错误信息中提示是 应用程序池提供服务的进程中出现错误。   其他警告也可通过日志目录查看 C:inetpub 出现上述问题的可能是,当时在做数据库拷贝,资源获取紧张超时导致。 当时用

    2023年04月26日
    浏览(25)
  • 【异常】SpringCloud Gateway报错RoundRobinLoadBalancer - No servers available for service: terminal-api

    类似报错如下 类似报错如下 引起这个问题的原因有很多, 简要归纳一下: 1.服务名称不能有中划线 2.本地IP地址使用了虚拟网卡地址 3.正常启用了子服务 最后排查,因为没有启动有效的terminal-api服务,所以出现了上面的报错。 重新启动terminal-api 即可。 虽然在Nacos中看到虽

    2024年02月14日
    浏览(24)
  • 【异常】SpringCloud Gateway报错503RoundRobinLoadBalancer - No servers available for service: terminal-api

    类似报错如下 类似报错如下 引起这个问题的原因有很多, 简要归纳一下: 1.服务名称不能有中划线 2.本地IP地址使用了虚拟网卡地址 3.正常启用了子服务 最后排查,因为没有启动有效的terminal-api服务,所以出现了上面的报错。 重新启动terminal-api 即可。 虽然在Nacos中看到虽

    2024年02月03日
    浏览(29)
  • 关于页面Service Unavailable 503错误的解决方案

    Apache下的503的错误很多,以下错误是我在实际业务中遇到。 软件环境:宝塔+Apache 2.4.53+PHP-7.4.33+MySQL 5.7.40 硬件环境:2C+4G 主要是做日志分析与日志处理,简单的说是文本日志分析一下,再把有用的数据放到mysql数据库中。 在处理2万及以下的日志,没有任何问题,在处理7万左

    2024年02月06日
    浏览(36)
  • springboot-gateway注册nacos失败,控制台没有报错

    最近springboot的gateway注册到nacos上,没有注册成功 我是在common里面引入了nacos的依赖,依赖如下: 然后代码yml里面添加如下:

    2023年04月09日
    浏览(36)
  • Typecho后台无法登录显示503 service unavailable问题及处理

    我的博客地址:https://www.aomanhao.top 使用老薛主机+动态Typecho博客框架+handsome主题的搭配,文章内容可以异地网页更新,可以听后台背景音乐,很好的满足我的痛点需求,博客部署在云端服务器访问响应较快,体验还是蛮不错的。 以游客身份访问网站没有问题,但是登录typec

    2024年01月24日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包