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

Rundeck登录失败:表单数据遭CSP拦截及Docker容器异常求助

解决Rundeck Docker部署登录异常及容器启停问题

一、修复CSP导致的登录提交失败

之前配置RUNDECK_SECURITY_CONTENTSECURITYPOLICY时格式错误,正确的环境变量写法不需要方括号,直接将允许的访问地址追加到form-action指令后:

  1. 编辑解压目录下的docker-compose.yml,找到rundeck服务的environment节点,添加或修改:
environment:
  # 保留原有环境变量
  RUNDECK_SECURITY_CONTENTSECURITYPOLICY: "form-action 'self' http://10.2.4.77:4440;"

注:如果用域名访问,替换成对应域名即可。

  1. 重新构建并重启服务:
docker-compose down
docker-compose build --no-cache
docker-compose up -d

二、自定义Rundeck配置文件(可选)

如果需要修改更多配置,可通过挂载本地配置文件的方式操作(避免容器重启后配置丢失):

  1. 从运行中的rundeck容器拷贝默认配置到本地:
docker cp rundeck:/home/rundeck/server/config/rundeck-config.properties ./rundeck-config.properties
  1. 本地编辑该文件,添加CSP规则:
rundeck.security.contentSecurityPolicy=form-action 'self' http://10.2.4.77:4440;
  1. 修改docker-compose.yml中rundeck服务的volumes节点,挂载本地配置:
volumes:
  # 保留原有挂载项
  - ./rundeck-config.properties:/home/rundeck/server/config/rundeck-config.properties
  1. 重启rundeck容器:docker-compose restart rundeck

三、解决Firefox端的两类错误

  1. XML语法错误:访问时需使用完整URL(http://10.2.4.77:4440/user/login),不要省略IP只写:4440/user/login,Firefox对不完整URL的解析存在兼容性问题。
  2. 字体加载失败:检查rundeck服务的静态资源挂载是否正确,确保client目录被正确挂载到容器内:
    • 在docker-compose.yml的rundeck服务volumes节点中添加:
    - ./client:/home/rundeck/client
    
    • 重新构建rundeck容器:docker-compose build rundeck

四、修复client容器持续停止问题

  1. 先查看容器日志定位根因:
docker logs -f $(docker ps -aqf "name=client")
  1. 常见问题排查:
    • 依赖缺失:进入client容器检查Node.js等依赖是否安装(如果是前端项目):
      docker exec -it $(docker ps -aqf "name=client") bash
      node -v # 检查版本,未安装则按项目要求安装对应版本
      
    • 配置错误:检查client目录下的配置文件(如.env、config.js),确保API地址指向Rundeck的正确IP和端口(http://10.2.4.77:4440)。
    • 端口冲突:修改client服务的ports配置,避免与其他服务冲突,比如将3000:3000改为3001:3000。
  2. 修复后重启client容器:docker-compose restart client

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 16:43:12