安装后,GitLab重定向到第422页

时间:2015-07-23 13:01:08

标签: ruby-on-rails apache devise passenger gitlab

我按照documentation页面安装了GitLab。服务器可以http://foobar.com/gitlab访问。我有乘客+ apache安装。 (独角兽也在奔跑)。安装完成后,它会加载登录页面,当我输入默认用户名/密码(root / 5iveL!fe)时,会重定向到422页面,并显示以下错误:

int main(int argc, char** argv)
{
    // First and simplest attempt
    sd::string st = argv[2];

    // Second attempt that also fails
    std::vector<std::string> all_arg;

    if (argc > 1) {
        all_arg.assign(argv + 1, argv + argc);
    }

    std::string st = all_arg[2];


    // Comparison
    st = st.substr(st.size() - 4, st.size() - 1);
    if (strcmp(st.c_str(), ".png")) { ... }
    else {...}      

}

我想密码可能有问题,尝试reset password from console但是在运行422 The change you requested was rejected. gitlab-rails console production时出现以下错误:

sudo -u git -H gitlab-rails console production

由于第一个错误导致没有日志文件,我手动创建了一个日志文件但是在运行命令后我收到了以下错误:

ls: cannot access /opt/gitlab/embedded/service/gitlab-rails/log: No such file or directory
chpst: fatal: unknown user/group: -U

我不知道该怎么做。同样在production.log中,它抱怨CSR令牌无效。我假设这意味着我没有提供正确的密码,但这是GitLab安装提供的密码。

也可能相关,我用这个guide来配置apache。 GitLab的Apache vhost部分看起来像这样

chpst: fatal: unable to setgroups: permission denied

1 个答案:

答案 0 :(得分:9)

由于没有人回答,我会发布我的解决方案,以便其他任何人都认为它有益。 问题出在https上。如果我在gitlab.yml(https:false)中关闭了https选项,那么我就可以登录了。可以找到详细的解决方案here。我必须在我的虚拟主机中添加以下内容(因为我有一个用于foobar.com.conf和foobar.com-ssl.conf)文件。

在foobar.com.conf文件中我必须添加:

 RewriteCond %{HTTPS} !=on
 RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [NE,R,L]

在foobar.com-ssl.conf中我不得不添加:

  RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA]
  RequestHeader set X_FORWARDED_PROTO 'https'

如需更多问题排查,请访问here