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

Rundeck登录后所有CSS/JS资源返回404故障求助

Rundeck静态资源404故障排查与解决方法

环境信息

  • Rundeck版本:4.8.0
  • 操作系统:RHEL 7.9
  • 安装方式:RPM包安装
  • 数据库类型:文件型数据库

故障现象

  • 登录后页面所有CSS、JS静态资源返回404状态码
  • service.log中存在大量WARN日志:

    WARN --- [qtpXXXXXX-XXX] org.eclipse.jetty.servlet.ServletHandler: No mapping found for GET /assets/css/rundeck.css

  • 页面显示为无样式纯文本结构,浏览器开发者工具可见静态资源请求全部失败

排查步骤

1. 检查静态资源文件完整性

RPM安装的Rundeck静态资源默认路径为/var/lib/rundeck/assets/,执行以下命令校验:

# 确认目录存在
ls -ld /var/lib/rundeck/assets/
# 统计文件数量(正常环境下该目录应有数百个文件)
find /var/lib/rundeck/assets/ -type f | wc -l
# 检查核心文件权限与存在性
ls -l /var/lib/rundeck/assets/css/rundeck.css

若文件缺失,可能是磁盘空间不足、意外删除或文件系统损坏导致,需补全或修复。

2. 验证服务运行身份

确保Rundeck以rundeck用户运行,避免权限不足无法读取资源:

# 查看进程运行用户
ps aux | grep rundeck | grep -v grep

若运行用户错误,修改/etc/sysconfig/rundeckd配置并重启:

sed -i 's/RUN_AS_USER=.*/RUN_AS_USER=rundeck/' /etc/sysconfig/rundeckd
systemctl restart rundeckd

3. 检查上下文路径配置

查看/etc/rundeck/rundeck-config.properties中的路径配置:

grep grails.serverURL /etc/rundeck/rundeck-config.properties

确保grails.serverURL的域名/IP与浏览器访问地址完全一致,若存在路径前缀(如http://server/rundeck),需确认静态资源请求路径匹配该前缀。

4. 排查磁盘与文件系统问题

# 检查磁盘空间
df -h
# 检查文件系统完整性(需卸载对应分区或使用安全模式)
fsck -n /dev/your-disk-partition

磁盘满则清理日志/无用文件;文件系统损坏则修复后重新检查资源。

5. 清理缓存并重启服务

systemctl stop rundeckd
# 清理Jetty临时缓存
rm -rf /var/lib/rundeck/work/
systemctl start rundeckd
# 实时监控启动日志
tail -f /var/log/rundeck/service.log

解决方法

  • 资源缺失/损坏:重装Rundeck RPM包(保留配置):
    yum reinstall rundeck-4.8.0-1.noarch.rpm
    
  • 权限错误:递归修复资源目录权限:
    chown -R rundeck:rundeck /var/lib/rundeck/assets/
    chmod -R 755 /var/lib/rundeck/assets/
    
  • 路径不匹配:修正grails.serverURL配置后重启服务,确保访问路径与配置一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:40:34