跟著大佬們的文章,想玩一下gateway api網(wǎng)關(guān)。經(jīng)過一系列ctrl+c和ctrl+v的操作,項目的基本就搭建好了;
1.引入依賴 pom.xml
<!--網(wǎng)關(guān)依賴-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!--不要引入web!不要引入web!不要引入web!gateway中已經(jīng)包含-->
2.創(chuàng)建啟動類文章來源:http://www.zghlxwxcb.cn/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 #服務(wù)端口
spring:
application:
name: gateway #服務(wù)名稱
cloud:
############# nacos配置中心 start (沒有注冊機可以不用配置這一塊) #############
nacos:
# nacos配置中心 #nacos的配置文件名稱(Data Id)叫 服務(wù)名稱.yml ,
# 組名(Group)
config:
server-addr: http://nacos服務(wù)器
file-extension: yml
namespace: xxx #命名空間(md5)
group: 分組名 #分組
#發(fā)現(xiàn)配置
discovery:
server-addr: http://www.lang9725.fun/find/
namespace: xxx #命名空間(md5)
group: batw
############# nacos配置中心 end #############
############## 網(wǎng)關(guān)配置 start ##############
gateway:
#開啟網(wǎng)關(guān),和很多地方說不一樣,很多地方都是這個是默認開啟的,
#但設(shè)置的話網(wǎng)關(guān)功能將無效
enabled: true
routes:
- id: server_finance #id 唯一即可
uri: http://localhost:44444 #用轉(zhuǎn)發(fā)路徑
predicates:
- Path=/test/test/** # **表示轉(zhuǎn)發(fā)地址下的全部都可以通過
############## 網(wǎng)關(guān)配置 end ##############
這里要一個被轉(zhuǎn)發(fā)服務(wù)器地址: http://localhost:44444/test/test/任意地址 并保證這個地址沒問題,我們的測試網(wǎng)關(guān)地址:http://localhost:9999/test/test/任意地址,保證兩個地址的返回效果一致(負載均衡效果到達預(yù)期)
前期沒有配置spieng.cloud.gateway.enabled=true,測試網(wǎng)關(guān)一直到報404,看了很多大佬debug,不明所以,最后發(fā)現(xiàn)是這邊配置沒有加,而是配置一個spieng.cloud.gateway.discovery.locator.enabled=true,后面加了spieng.cloud.gateway.enabled=true就可以了,這個東西應(yīng)該是和版本,和依賴包一定聯(lián)系吧。文章來源地址http://www.zghlxwxcb.cn/news/detail-576232.html
到了這里,關(guān)于Spring Colud gateway 網(wǎng)關(guān)引入轉(zhuǎn)發(fā)無效 (404)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!