跟着大佬们的文章,想玩一下gateway api网关。经过一系列ctrl+c和ctrl+v的操作,项目的基本就搭建好了;
1.引入依赖 pom.xml
<!--网关依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!--不要引入web!不要引入web!不要引入web!gateway中已经包含-->
2.创建启动类文章来源:https://www.toymoban.com/news/detail-576232.html
//如果有注册机(nacos,eureka)什么的可以不用引入
//@EnableDiscoveryClient,只需在配置文件里面配置好就行
@SpringBootApplication
public class GatewayServer {
public static void main(String[] args) {
SpringApplication.run(GatewayServer.class,args);
}
}
2.配置文件
server:
port: 9999 #服务端口
spring:
application:
name: gateway #服务名称
cloud:
############# nacos配置中心 start (没有注册机可以不用配置这一块) #############
nacos:
# nacos配置中心 #nacos的配置文件名称(Data Id)叫 服务名称.yml ,
# 组名(Group)
config:
server-addr: http://nacos服务器
file-extension: yml
namespace: xxx #命名空间(md5)
group: 分组名 #分组
#发现配置
discovery:
server-addr: http://www.lang9725.fun/find/
namespace: xxx #命名空间(md5)
group: batw
############# nacos配置中心 end #############
############## 网关配置 start ##############
gateway:
#开启网关,和很多地方说不一样,很多地方都是这个是默认开启的,
#但设置的话网关功能将无效
enabled: true
routes:
- id: server_finance #id 唯一即可
uri: http://localhost:44444 #用转发路径
predicates:
- Path=/test/test/** # **表示转发地址下的全部都可以通过
############## 网关配置 end ##############
这里要一个被转发服务器地址: http://localhost:44444/test/test/任意地址 并保证这个地址没问题,我们的测试网关地址:http://localhost:9999/test/test/任意地址,保证两个地址的返回效果一致(负载均衡效果到达预期)
前期没有配置spieng.cloud.gateway.enabled=true,测试网关一直到报404,看了很多大佬debug,不明所以,最后发现是这边配置没有加,而是配置一个spieng.cloud.gateway.discovery.locator.enabled=true,后面加了spieng.cloud.gateway.enabled=true就可以了,这个东西应该是和版本,和依赖包一定联系吧。文章来源地址https://www.toymoban.com/news/detail-576232.html
到了这里,关于Spring Colud gateway 网关引入转发无效 (404)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!