2

gitlab のgeosurvey.gitリポジトリに何かをプッシュしようとすると、次のエラーが発生します。

ここに画像の説明を入力

git@192.168.31.128:geosurvey.git: /usr/local/lib/ruby/1.9.1/net/http.rb:762!in `initialize': Connection refused(2) (Errno:ECONNREFUSED)
  from /usr/local/lib/ruby/1.9.1/net/http.rb:762:in `open'
  from /usr/local/lib/ruby/1.9.1/net/http.rb:762:in `block in connect'
  from /usr/local/lib/ruby/1.9.1/timeout.rb:54:in `timeout'
  from /usr/local/lib/ruby/1.9.1/timeout.rb:99:in `timeout'
  from /usr/local/lib/ruby/1.9.1/net/http.rb:762:in `connect'
  from /usr/local/lib/ruby/1.9.1/net/http.rb:755:in `do_start'
  from /usr/local/lib/ruby/1.9.1/net/http.rb:744:in `start'
  from /home/git/gitlab-shell/lib/gitlab_net.rb:56:in `get'
  from /home/git/gitlab-shell/lib/gitlab_net.rb:17:in `allowed?'
  from /home/git/gitlab-shell/lib/gitlab_shell.rb:51:in `validate_access'
  from /home/git/gitlab-shell/lib/gitlab_shell.rb:21:in `exec'
  from /home/git/gitlab-shell/lib/gitlab_shell.rb:16:in `<main>'

上記のエラーは、次のコードに対するものです。

def connect
      D "opening connection to #{conn_address()}..."
      s = timeout(@open_timeout) { TCPSocket.open(conn_address(), conn_port()) }
      D "opened"
      if use_ssl?
        ssl_parameters = Hash.new
        iv_list = instance_variables
        SSL_ATTRIBUTES.each do |name|
          ivname = "@#{name}".intern
          if iv_list.include?(ivname) and
             value = instance_variable_get(ivname)
            ssl_parameters[name] = value
          end
        end
        @ssl_context = OpenSSL::SSL::SSLContext.new
        @ssl_context.set_params(ssl_parameters)
        s = OpenSSL::SSL::SSLSocket.new(s, @ssl_context)
        s.sync_close = true
end

私の gitlab.yml または /etc/nginx/sites-available/gitlab に何か問題があるのでしょうか?

ありがとう、


問題は、リモートの gitlab サーバーとの ssh 接続を取得できないことです。私の ssh ポートは 22 (デフォルト) で、gitlab ポートは 3222 です。

4

2 に答える 2

1

gitlab のインストール ガイドには、リッスン ポートの構成方法が記載されていません。

この行を使用すると、任意のリポジトリをプッシュおよびクローンできます。

listen *:80 default_server;         # e.g., listen 192.168.1.1:80;
于 2013-03-26T14:36:09.510 に答える
0

問題は、リモートの gitlab サーバーとの ssh 接続を取得できないことです。私の ssh ポートは 22 (デフォルト) で、gitlab ポートは 3222 です。

次に、ssh Gitlab URL を使用する場合は、必ずポート 3222 を使用する必要があります。この質問
の ように、構成ファイルでカスタムポート番号を指定できます。これは、「非標準ポートでのリモートリポジトリの使用」、scp-styleにも示されています。 または、ssh URL でポートを直接指定します。

ssh://[user@]host.xz[:port]/path/to/repo.git/
于 2013-03-26T07:40:34.150 に答える