1、前提环境
1、Java JDK:17
2、Nacos:2.3.2
2、问题情况一:uri使用 == ip:端口== 方式运行网关时功能正常,但是使用 lb://[Nacos服务的服务名] 时候报错503
(1)代码案例
server:
port: [网关端口号,我网关配置是8080]
spring:
application:
name: [application名称]
cloud:
gateway:
routes:
- id: [微服务的application名称]
uri: http://172.20.10.4:8081
predicates:
- Path=/[微服务通用Mapping地址]/**
nacos:
server-addr: 127.0.0.1:8848
(2)解决方法
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
<version>4.1.2</version>
</dependency>
3、问题情况二:导完包还报错503
(1)解决方法
- 我遇到这种情况发现是各种依赖版本匹配的问题,我的配置如下,供大家参考:
1、SpringCloud:2023.0.3
2、spring-cloud-starter-gateway:3.1.1
3、spring-cloud-starter-alibaba-nacos-discovery:2023.0.1.0
4、spring-cloud-starter-loadbalancer:4.1.2
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.8</version>
<relativePath/>
</parent>
<groupId>com.qingjin</groupId>
<artifactId>QJGateway</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>QJGateway</name>
<description>QJGateway</description>
<url/>
<licenses>
<license/>
</licenses>
<developers>
<developer/>
</developers>
<scm>
<connection/>
<developerConnection/>
<tag/>
<url/>
</scm>
<properties>
<java.version>17</java.version>
<spring-cloud.version>2023.0.3</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2023.0.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
<version>4.1.2</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>