AWS部署Strapi服务正常但Admin管理面板转圈加载无法访问
问题根因
Admin面板持续加载转圈是server.js配置错误导致:配置中url字段默认值为http://localhost,Strapi Admin面板的静态资源路径、API请求前缀都会基于该字段生成,公网访问时所有请求都会被指向客户端本地的1337端口,无法请求到服务器实际资源,因此一直处于加载状态。
修复步骤
- 修改项目
config/server.js配置,将url字段替换为服务器实际公网访问地址,正确配置参考如下:
module.exports = ({ env }) => ({ host: env('HOST', '0.0.0.0'), port: env.int('PORT', 1337), cron: { enabled: true}, // 将<替换为你的AWS公网IPv4>替换为实际IP,示例值:http://12.34.56.78:1337 url: env('URL', 'http://<替换为你的AWS公网IPv4>:1337'), admin: { auth: { secret: env('ADMIN_JWT_SECRET', 'MY_JWT_SECRET'), }, }, });
- 配置修改完成后,在项目根目录执行构建命令重新编译Admin面板:
- npm管理依赖执行:
npm run build - yarn管理依赖执行:
yarn build
- npm管理依赖执行:
- 构建完成后重启Strapi服务,重启前确认AWS安全组入站规则已放开1337端口,允许访问端IP的请求通过。
- 清除浏览器缓存(或使用无痕模式),重新访问
http://<你的AWS公网IPv4>:1337/admin即可正常加载管理面板。
异常排查
如果完成上述操作后仍无法加载,按以下顺序排查:
- 确认服务器系统防火墙(ufw、firewalld等)已放开1337端口入站规则
- 打开浏览器开发者工具-网络面板,查看加载失败的请求目标地址,确认未指向
localhost - 查看Strapi服务运行日志,确认服务启动过程无报错,Admin构建产物已正常生成
- 若配置了域名反向代理,需要将
url字段替换为实际访问的域名地址,同时确认反向代理的WebSocket转发规则配置正确
内容的提问来源于stack exchange,提问作者Drilon Sulejmani
相关产品推荐
相关产品推荐

