2

大学のローカル マシンに Gitlab 5.2 + Nginx がインストールされています。http を介したクローン作成は、内部ネットワーク内にあるマシンでは機能しますが、外部ネットワーク上のマシンからクローンを作成しようとすると、まったく同じ資格情報が提供されていても、「致命的: 認証に失敗しました」というメッセージが表示されます。(Web インターフェース経由で Gitlab にログインするために使用するものと同じ資格情報を使用します)

Gitlab Web インターフェイスは、外部ネットワークからアクセスできます。失敗するのは http 経由のクローンのみです (ポート 22 がブロックされているため、ssh 経由のクローンは不可能です)。

関連する構成ファイルのいくつかの行を次に示します。

config/gitlab.yml から

host: mydomain
port: 80
https: false

ngnix 構成ファイルの関連行は次のとおりです。

server {
  listen *:80 default_server;         # In most cases *:80 is a good idea
  server_name mydomain;     # e.g., server_name source.example.com;
  root /home/git/gitlab/public;

  # individual nginx logs for this gitlab vhost
  access_log  /var/log/nginx/gitlab_access.log;
  error_log   /var/log/nginx/gitlab_error.log;

  location / {
    # serve static files from defined root folder;.
    # @gitlab is a named location for the upstream fallback, see below
    try_files $uri $uri/index.html $uri.html @gitlab;
  }

  # if a file, which is not found in the root folder is requested,
  # then the proxy pass the request to the upsteam (gitlab unicorn)
  location @gitlab {
    proxy_read_timeout 2000; # https://github.com/gitlabhq/gitlabhq/issues/694
    proxy_connect_timeout 2000; # https://github.com/gitlabhq/gitlabhq/issues/694
    proxy_redirect     off;

    proxy_set_header   X-Forwarded-Proto $scheme;
    proxy_set_header   Host              $http_host;
    proxy_set_header   X-Real-IP         $remote_addr;

    proxy_pass http://gitlab;
  }
}

注: この行を /etc/hosts: に追加しまし127.0.0.1 mydomainたが、実際には役に立ちません。( https://github.com/gitlabhq/gitlabhq/issues/3483#issuecomment-15783597に基づく)

問題が何であるか/これをどのようにデバッグするかについてのアイデアはありますか?

4

1 に答える 1

0

これは 5.3 で修正されていると思いますので、アップデートしてみてください。見る:

于 2013-07-26T04:47:48.147 に答える