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

如何解决Rundeck社区版v4.12.0跨浏览器认证页面挂起问题?

Rundeck v3.1.6升级至v4.12.0后Chrome/Safari登录挂起问题

问题概述

通过apt-get将Rundeck从v3.1.6升级到v4.12.0后,出现浏览器兼容性异常:

  • Firefox登录完全正常,输入账号密码后可直接进入控制台
  • Chrome和Safari输入账号密码提交后页面挂起,但同一浏览器新开标签页访问Rundeck地址,能直接进入已登录状态
  • 查看rundeck.audit.events.log,所有浏览器的登录尝试均标记为ActionType='login_success',说明认证逻辑本身无问题

涉及浏览器版本

  • Firefox 112.0 (20230406114409)
  • Chrome 96.0.4664.93
  • Chrome 112.0.5615.137
  • Safari 16.4 (18615.1.26.11.23)

关键排查发现

通过Chrome开发者工具分析网络请求,发现登录提交的核心请求被拦截:

资源状态指令
https://<RUNDECK_URL>/j_security_checkblockedform-action

这说明内容安全策略(CSP)限制阻止了表单提交后的跳转动作,Chrome和Safari对CSP的执行比Firefox更严格,导致页面挂起。

解决方案建议

1. 调整Rundeck的CSP配置

编辑Rundeck配置文件rundeck-config.properties,找到rundeck.security.csp相关配置,确保form-action指令包含Rundeck的域名。示例配置:

rundeck.security.csp=default-src 'self'; form-action 'self' https://<RUNDECK_URL>; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self';

修改后重启Rundeck服务生效。

2. 检查Cookie的SameSite属性

Chrome和Safari对Cookie的SameSite属性校验更严格,可在Rundeck配置中调整Cookie设置:
在rundeck-config.properties中添加或修改:

rundeck.web.session.cookie.sameSite=None
rundeck.web.session.cookie.secure=true

注意:SameSite=None必须配合Secure属性使用,且站点必须启用HTTPS。

3. 清理浏览器缓存与Cookie

让受影响用户清除Chrome/Safari中Rundeck站点的缓存和Cookie,避免旧的会话数据或CSP规则缓存导致异常。

4. 排查反向代理配置

如果Rundeck前端部署了反向代理(如Nginx),检查代理是否添加了额外的CSP响应头,导致与Rundeck自身的CSP配置冲突。同时确保代理正确转发j_security_check请求,没有拦截或错误重定向。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 05:22:16