首次迁移JHipster应用至公网VM后访问提示“No static resource index.html.”
JHipster迁移公网VM后404(No static resource index.html)解决方向
检查前端静态资源完整性
确认部署包中是否包含index.html及前端静态文件。如果使用Maven/Gradle打包,必须执行完整的生产环境构建命令:- Maven:
./mvnw package -Pprod - Gradle:
./gradlew bootJar -Pprod
这类命令会触发前端构建并将产物打包到Jar/War中。若前后端分开部署,需确认前端静态文件已放入后端src/main/resources/static目录,或反向代理已指向正确的前端资源路径。
- Maven:
验证运行环境Profile配置
启动应用时必须指定生产环境Profile:--spring.profiles.active=prod。开发环境依赖前端热加载,生产环境需预构建静态资源,Profile错误会导致后端无法找到静态文件。检查反向代理(如Nginx)配置(若使用)
确保Nginx正确转发请求到JHipster应用,避免自行拦截静态资源请求。示例配置:location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }确认访问路径与应用配置匹配
检查application-prod.yml中的server.servlet.context-path配置,如果设置了自定义路径(如/app),访问时必须加上该路径:http://你的VM地址/app/index.html,而非直接访问根路径。排查Keycloak的资源保护规则
检查application-prod.yml中的安全配置,确保静态资源路径(/,/index.html,/static/**等)已被设置为permitAll(),避免Keycloak错误拦截静态资源请求。查看应用日志定位细节
启动后查看应用日志,确认前端构建过程是否完成、是否有静态资源加载失败的报错信息,比如构建阶段是否有编译错误被忽略。
内容的提问来源于stack exchange,提问作者Ribeye
相关产品推荐
相关产品推荐

