首先保证maven坐标和配置文件没有问题
1、maven坐标
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
2、配置文件
spring:
cloud:
nacos:
server-addr: 127.0.0.1:8848
gateway:
discovery:
locator:
enabled: true
routes:
- id: test
uri: lb://test
predicates:
- Path=/test/**
- id: media
uri: lb://media
predicates:
- Path=/media/**
3、启动gateway服务器以及test和media服务器,并注册到nacos
![](https://i-blog.csdnimg.cn/blog_migrate/bee953035e7e053a8ebd95e07eb78c84.png)
4、在以上全部保证正确的前提下通过gateway访问其他端口
访问media端口
![](https://i-blog.csdnimg.cn/blog_migrate/2c3fc5d4dfaefa62b6bb6ba32226193e.png)
访问test端口
![](https://i-blog.csdnimg.cn/blog_migrate/0c2e1bd6802599df458029aa47b938dd.png)
5、这个原因是因为nacos服务名必须为“xx-xx”,不能为单独的单词,必须有中间有"-"才可以,现在将服务名media切换为xq-media,test改为xq-test
routes:
- id: xq-test
uri: lb://xq-test
predicates:
- Path=/test/**
- id: xq-media
uri: lb://xq-media
predicates:
- Path=/media/**
6、测试
xq-test测试
![](https://i-blog.csdnimg.cn/blog_migrate/4983e2f4076e019a93fcc740de844877.png)
xq-media测试
![](https://i-blog.csdnimg.cn/blog_migrate/d538fcb08e9dbce21260d244d8717395.png)
7、总结
命名nacos服务名时候,不要使用单独的字母,必须带上"-"才可以