Rundeck:http 错误 500:以管​​理员身份登录时

Posted

技术标签:

【中文标题】Rundeck:http 错误 500:以管​​理员身份登录时【英文标题】:Rundeck: http error 500: when logging in as admin 【发布时间】:2018-09-21 16:04:36 【问题描述】:

我一直在尝试设置 rundeck 服务器,但是当提供的身份验证无法提供对项目的完全访问权限时遇到了几个问题,并且当我尝试修改配置文件时,它无法通过身份验证如下所示。

HTTP ERROR: 500

Problem accessing /user/j_security_check. Reason:

java.io.IOException: Configuration Error:
No such file or directory

我的 jaas-loginmodule.conf 看起来像这样:

com.dtolabs.rundeck.jetty.jaas.JettyCachingLdapLoginModule sufficient
    debug="true"
    contextFactory="com.sun.jndi.ldap.LdapCtxFactory"
    providerUrl="ldaps://sb2sys3.derivatives.com"
    bindDn="uid=svldap,cn=users,cn=accounts,dc=derivatives,dc=com"
    bindPassword="T0wR0pe!"
    authenticationMethod="simple"
    forceBindingLoginUseRootContextForRoles="true"
    forceBindingLogin="true"
    userBaseDn="cn=users,cn=accounts,dc=derivatives,dc=com"
    userRdnAttribute="uid"
    userIdAttribute="uid"
    userPasswordAttribute="userPassword"
    userObjectClass="inetOrgPerson"
    roleBaseDn="cn=groups,cn=accounts,dc=derivatives,dc=com"
    roleNameAttribute="cn"
    roleMemberAttribute="member"
    roleObjectClass="groupOfNames"
    cacheDurationMillis="300000"
    supplementalRoles="user"
    reportStatistics="true";

org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required
    debug="true"
    file="/etc/rundeck/realm.properties";
;

我还编辑了 realm.properties 文件以拥有一个角色为 admin 的用户,该角色也在 web.xml 中进行了更改。

当前的 admin.aclpolicy 如下所示:

description: Admin, all access.
context:
  project: '.*' # all projects
for:
  resource:
    - allow: '*' # allow read/create all kinds
  adhoc:
    - allow: '*' # allow read/running/killing adhoc jobs
  job:
    - allow: '*' # allow read/write/delete/run/kill of all jobs
  node:
    - allow: '*' # allow read/run for all nodes
by:
  group: admin

---

description: Admin, all access.
context:
  application: 'rundeck'
for:
  resource:
    - allow: '*' # allow create of projects
  project:
    - allow: '*' # allow view/admin of all projects
  project_acl:
    - allow: '*' # allow admin of all project-level ACL policies
  storage:
    - allow: '*' # allow read/create/update/delete for all /keys/* storage content
by:
  group: admin

【问题讨论】:

检查 rundeck 日志 "tail -f /var/log/rundeck/*.log" 并尝试从浏览器访问它。确保您默认拥有所有 conf 和 .aclpolicy 文件。它会起作用的。 【参考方案1】:

您收到的错误似乎与 JAAS_CONF 变量有关。

我设法在 CentOS7 的 rpm 安装中重现了准确的 500 错误。

通过注释掉 /etc/rundeck/profile 中的 JAAS_CONF 变量,如果你设置了它,/etc/sysconfig/rundeckd 或 /etc/default/rundeckd,错误显示空 java.io.IOException 和“配置错误:没有这样的文件或目录”,因此这些文件中的错误类型可能会影响身份验证。

我建议您对这些文件进行一次完整的检查,以确认一切正常。

希望对你有帮助

【讨论】:

以上是关于Rundeck:http 错误 500:以管​​理员身份登录时的主要内容,如果未能解决你的问题,请参考以下文章

如何处理 Spring Rest API 上的内部服务器错误(500)以自定义消息?

我如何处理rest-client 500错误响应并不断在我的循环中抓取?

rundeck使用说明

如何完全卸载RUNDECK

“预检响应没有 HTTP ok 状态。” 500 角 6

AngularJS http 中的错误处理然后构造