门户发送请求出现404 Not Found
一、问题背景
在门户新部署了个微服务,利用nacos管理微服务media,门户测试出现404异常,后端工作日志也没有出现错误
二、报错截图如下
三、我的项目配置如下
在项目配置bootstrap.yml
#微服务配置
spring:
application:
name: media-api # 服务名media-api-dev.yaml
cloud:
nacos:
server-addr: 127.0.0.1:8848
discovery: #服务注册相关配置
namespace: d30c3e20-af6b-4bd5-9993-d4a9eacaedad
group: xuecheng-plus-project
config: #配置文件相关配置
namespace: d30c3e20-af6b-4bd5-9993-d4a9eacaedad
group: xuecheng-plus-project
file-extension: yaml
refresh-enabled: true
extension-configs: # 扩展配置文件,相当于引用其他配置文件
- data-id: media-service-${spring.profiles.active}.yaml
group: xuecheng-plus-project
refresh: true
shared-configs: # 共享配置文件
- data-id: swagger-${spring.profiles.active}.yaml
group: xuecheng-plus-common
refresh: true
- data-id: logging-${spring.profiles.active}.yaml
group: xuecheng-plus-common
refresh: true
profiles:
active: dev # 环境名称
在nacos定义的网关配置
server:
port: # 网关端口
spring:
cloud:
gateway:
routes: # 网关路由配置
- id: media-api
# uri: http://127.0.0.1:8081
uri: lb://media-api
predicates:
- Path=/media/**
media微服务配置
server:
servlet:
context-path: /media
port: 端口
四、分析过程
新增加了一个微服务,但是运行失败,可以从以下几个思路进行分析
1、判断nacos是否正常
登录nacos发现,nacos运行正常
2、服务注册是否成功:新增media服务是否在nacos上注册
发现在nacos上已有media服务实例,而且工程运行上服务端口也是符合nacos配置的
3、服务调用:测试路由是否正常
(a)新增一个测试项
(b) 跳过网关,直接访问,显示访问正常
(c) 利用网关访问,也能得到返回结果
说明新增的media服务路由也正常,那么测试下正常功能的访问方式是否正常,设置断点,再利用接口调试工具Apifox进行模拟访问,也能执行到断点,
这一步也正常,在想有没有可能是前端的问题,利用前端发送的请求访问,则访问失败
看了下前端的运行日志,果然有错误日志
五、问题原因
前端问题,前端环境变量的问题
六、解决方式
修改前端的环境变量即可