title: Check GitLab API access: FAILED. code: 302
body: <p>I've installed GitLab on Centos 6.5, and am receiving the following error:</p>
  
  <pre><code>Running /home/git/gitlab-shell/bin/check
  Check GitLab API access: FAILED. code: 302
  gitlab-shell self-check failed
    Try fixing it:
    Make sure GitLab is running;
    Check the gitlab-shell configuration file:
    sudo -u git -H editor /home/git/gitlab-shell/config.yml
    Please fix the error above and rerun the checks.
  
  Checking GitLab Shell ... Finished
  </code></pre>
  
  <p>I've included the full check output as well as my <code>/home/git/gitlab-shell/config.yml</code> file below.  Also, GitLab is in fact running:</p>
  
  <pre><code>[root@vps gitlab]# service gitlab status
  unicorn (pid  30184) is running...
  sidekiq (pid  30340) is running...
  [root@vps gitlab]#
  </code></pre>
  
  <p>I have tested connecting to the server, and could do so as verified using <code>ssh -T git@example.com</code>.  I am not sure if it is related, but I am unable to push the the repository, and receive the following error.</p>
  
  <pre><code>[Michael@devserver example]$ ssh -T git@example.com
  Address 123.456.789.01 maps to ve6.phpwebhosting.com, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
  Welcome to GitLab, Anonymous!
  [Michael@devserver example]$ git remote -v
  origin  git@example.com:root/example.git (fetch)
  origin  git@example.com:root/example.git (push)
  [Michael@devserver example]$ git push -u origin master
  Address 123.456.789.01 maps to ve6.phpwebhosting.com, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
  Access denied.
  fatal: Could not read from remote repository.
  
  Please make sure you have the correct access rights
  and the repository exists.
  [Michael@devserver example]$
  </code></pre>
  
  <p>How do I fix the above error?  Is it related to not being able to push to the repository?</p>
  
  <p>Thank you</p>
  
  <pre><code>[root@vps gitlab]# sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
  Checking Environment ...
  
  Git configured for git user? ... yes
  
  Checking Environment ... Finished
  
  Checking GitLab Shell ...
  
  GitLab Shell version &gt;= 1.9.3 ? ... OK (1.9.3)
  Repo base directory exists? ... yes
  Repo base directory is a symlink? ... no
  Repo base owned by git:git? ... yes
  Repo base access is drwxrws---? ... yes
  Satellites access is drwxr-x---? ... yes
  update hook up-to-date? ... yes
  update hooks in repos are links: ...
  Michael Smith / example ... repository is empty
  Running /home/git/gitlab-shell/bin/check
  Check GitLab API access: FAILED. code: 302
  gitlab-shell self-check failed
    Try fixing it:
    Make sure GitLab is running;
    Check the gitlab-shell configuration file:
    sudo -u git -H editor /home/git/gitlab-shell/config.yml
    Please fix the error above and rerun the checks.
  
  Checking GitLab Shell ... Finished
  
  Checking Sidekiq ...
  
  Running? ... yes
  Number of Sidekiq processes ... 1
  
  Checking Sidekiq ... Finished
  
  Checking LDAP ...
  
  LDAP is disabled in config/gitlab.yml
  
  Checking LDAP ... Finished
  
  Checking GitLab ...
  
  Database config exists? ... yes
  Database is SQLite ... no
  All migrations up? ... yes
  Database contains orphaned UsersGroups? ... no
  GitLab config exists? ... yes
  GitLab config outdated? ... no
  Log directory writable? ... yes
  Tmp directory writable? ... yes
  Init script exists? ... yes
  Init script up-to-date? ... no
    Try fixing it:
    Redownload the init script
    For more information see:
    doc/install/installation.md in section "Install Init Script"
    Please fix the error above and rerun the checks.
  projects have namespace: ...
  Michael Smith / example ... yes
  Projects have satellites? ...
  Michael Smith / example ... can't create, repository is empty
  Redis version &gt;= 2.0.0? ... yes
  Your git bin path is "/usr/bin/git"
  Git version &gt;= 1.7.10 ? ... yes (1.8.3)
  
  Checking GitLab ... Finished
  </code></pre>
  
  <p>config.yml:</p>
  
  <pre><code>[root@vps gitlab]# cat /home/git/gitlab-shell/config.yml
  # GitLab user. git by default
  user: git
  
  # Url to gitlab instance. Used for api calls. Should end with a slash.
  gitlab_url: "http://example.com/"
  
  http_settings:
  #  user: someone
  #  password: somepass
  #  ca_file: /etc/ssl/cert.pem
  #  ca_path: /etc/pki/tls/certs
    self_signed_cert: true
  
  # Repositories path
  # Give the canonicalized absolute pathname,
  # REPOS_PATH MUST NOT CONTAIN ANY SYMLINK!!!
  # Check twice that none of the components is a symlink, including "/home".
  repos_path: "/home/git/repositories"
  
  # File used as authorized_keys for gitlab user
  auth_file: "/home/git/.ssh/authorized_keys"
  
  # Redis settings used for pushing commit notices to gitlab
  redis:
    bin: /usr/bin/redis-cli
    host: 127.0.0.1
    port: 6379
    # socket: /tmp/redis.socket # Only define this if you want to use sockets
    namespace: resque:gitlab
  
  # Log file.
  # Default is gitlab-shell.log in the root directory.
  # log_file: "/home/git/gitlab-shell/gitlab-shell.log"
  
  # Log level. INFO by default
  log_level: INFO
  
  # Audit usernames.
  # Set to true to see real usernames in the logs instead of key ids, which is easier to follow, but
  # incurs an extra API call on every gitlab-shell command.
  audit_usernames: false
  [root@vps gitlab]#
  </code></pre>