You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JHipster微服务调用/api/authenticate接口返回404错误如何解决?

JHipster微服务身份认证接口404报错分析

问题信息

请求地址:http://localhost:8081/api/authenticate
请求Body:

{"password":"abc","username":"abc"}

响应结果:

{
"timestamp": "2021-10-22T12:18:36.440+00:00",
"status": 404,
"error": "Not Found",
"path": "/api/authenticate"
}

接口报错截图

报错原因

  • 端口归属不匹配:JHipster微服务架构中,认证接口默认托管在网关服务或独立UAA认证服务上,若8081端口为普通业务微服务端口,无对应认证接口就会返回404。
  • 接口路径配置错误:不同JHipster版本的认证端点路径存在差异,部分版本默认OAuth2认证路径为/oauth/token,若服务配置了context-path上下文前缀,原路径也会失效。
  • 服务注册与路由异常:若通过网关转发认证请求,认证服务未正常注册到Nacos/Eureka注册中心,或网关未配置对应认证服务的路由规则,也会触发404。
  • Spring Security规则拦截:Security配置未将/api/authenticate加入免认证放行列表,接口被权限规则拦截无法访问。
  • 认证服务未正常启动:认证服务启动过程报错,对应Controller未完成初始化加载,接口无法对外提供服务。

解决方案

  • 校验端口归属:执行lsof -i:8081(Linux/Mac)或netstat -ano | findstr 8081(Windows)确认8081端口运行的服务类型,若为业务微服务,改为网关或认证服务的对应端口请求,JHipster默认网关端口为8080,UAA认证服务默认端口为9999。
  • 核对认证接口路径:查看认证服务application.yml中的server.servlet.context-path配置,若有上下文前缀需拼接在请求路径前;若为OAuth2密码模式认证,改用/oauth/token路径提交表单格式参数:username=abc&password=abc&grant_type=password&client_id=你的客户端ID&client_secret=你的客户端密钥。
  • 检查服务注册与路由:登录注册中心控制台确认认证服务、网关服务均健康在线,核对网关路由配置是否匹配认证服务的路径规则。
  • 调整Security配置:修改认证服务的SecurityConfiguration类,将认证接口加入免拦截列表,参考配置:
@Override
public void configure(WebSecurity web) {
    web.ignoring()
        .antMatchers("/api/authenticate")
        .antMatchers("/api/register", "/api/activate");
}
  • 排查服务启动日志:查看认证服务启动日志是否存在报错,确认AuthenticateController类被Spring容器正常加载。

内容的提问来源于stack exchange,提问作者sonalika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 10:09:07