2016-10-18 5 views
4

AWSサーバーにgitlabをインストールしましたが、期待どおりに動作しています。レジストリタブが機能しません

http://ec2-54-167-34-63.compute-1.amazonaws.com/

しかし、私は "レジストリ" タブをクリックしたときに、私は/etc/gitlab/gitlab.rb

からページが見つからないエラー(500)


関連する部分を示しています

gitlab_rails['gitlab_default_projects_features_container_registry'] = true 

# registry_external_url 'https://registry.gitlab.example.com' 
registry_external_url 'http://ec2-54-167-34-63.compute-1.amazonaws.com:4567' 

# Settings used by GitLab application 
gitlab_rails['registry_enabled'] = true 
gitlab_rails['registry_host'] = "http://ec2-54-167-34-63.compute-1.amazonaws.com" 
gitlab_rails['registry_port'] = "5005" 
gitlab_rails['registry_api_url'] = "http://localhost:5000" 
gitlab_rails['registry_key_path'] = "/var/opt/gitlab/gitlab-rails/certificate.key" 
gitlab_rails['registry_path'] = "/var/opt/gitlab/gitlab-rails/shared/registry" 
gitlab_rails['registry_issuer'] = "omnibus-gitlab-issuer" 

# Settings used by Registry application 
registry['enable'] = true 
registry['username'] = "registry" 
registry['group'] = "registry" 
registry['uid'] = nil 
registry['gid'] = nil 
registry['dir'] = "/var/opt/gitlab/registry" 
registry['log_directory'] = "/var/log/gitlab/registry" 
registry['log_level'] = "info" 
registry['rootcertbundle'] = "/var/opt/gitlab/registry/certificate.crt" 
registry['storage_delete_enabled'] = true 

更新

以下のログごとに、gitlab-registry.keyファイルが正しい場所に必要です。このファイルとは何ですか?どのように生成するのですか?

尾/var/log/gitlab/gitlab-rails/production.log

Started GET "/root/test/container_registry" for 125.99.49.46 at 2016-10-24 08:29:27 +0000 
Processing by Projects::ContainerRegistryController#index as HTML 
    Parameters: {"namespace_id"=>"root", "project_id"=>"test"} 
Completed 500 Internal Server Error in 23ms (ActiveRecord: 3.5ms) 

Errno::ENOENT (No such file or directory @ rb_sysopen - /var/opt/gitlab/gitlab-rails/etc/gitlab-registry.key): 
    lib/json_web_token/rsa_token.rb:20:in `read' 
    lib/json_web_token/rsa_token.rb:20:in `key_data' 
    lib/json_web_token/rsa_token.rb:24:in `key' 
    lib/json_web_token/rsa_token.rb:28:in `public_key' 
    lib/json_web_token/rsa_token.rb:33:in `kid' 
    lib/json_web_token/rsa_token.rb:12:in `encoded' 
    app/services/auth/container_registry_authentication_service.rb:30:in `full_access_token' 
    app/models/project.rb:421:in `container_registry_repository' 
    app/controllers/projects/container_registry_controller.rb:28:in `container_registry_repository' 
    app/controllers/projects/container_registry_controller.rb:8:in `index' 
    lib/gitlab/request_profiler/middleware.rb:15:in `call' 
    lib/gitlab/middleware/go.rb:16:in `call' 

更新私はここで説明したように、私は証明書を生成する必要があると思います2

...

http://www.bonusbits.com/wiki/HowTo:Setup_HTTPS_for_Gitlab

+0

500エラーがHTTPエラーであると仮定すると、それは「見つからない440ページ」ではない、それは「500内部サーバーエラー」です。その汎用エラーメッセージを展開するどこかにエラーログがあるかもしれません。 –

答えて

1

エラー500であるため、GitLabサーバーのログを確認してください。 eのログ:issue 23019

GitLab 8.13で保留中の問題があります:23575: No way to enable container registry、マージリクエスト7037: Fix typo in project settings that prevents users from enabling container registryです。
が問題と関連している可能性があります。

Issue 23339にも「自己署名証明書の問題を分類する(私のレジストリはgitlabとは異なるドメインにあります)」と書かれています。

Issue 23181(レジストリにプッシュすることはまだよくunauthorized: authentication requiredが発生した)エラーが挙げgitlab-registry.keyについてOFRドッカ1.11+(そう、それはあなたがAWS上で使用しているドッキングウィンドウのバージョンによって異なります)


を行っていることを示唆していますOPの編集は、正しく宣言されているならば、簡単なreconfigureで作成する必要があります。

ので、ダブルチェック:

それは私の一部にタイプミスだっ判明します。
設定キーはregistry_nginx["ssl_certificate"]ではなく、registry_nginx[ssl_certificate]です。この機能が追加された方法を示し

+0

@shantanuo OK。私は探索のためのいくつかのリンクを追加しました – VonC

1

のようなレジストリ設定のほんの数を設定してください:あなたは、デフォルト値を保持したい場合はgitlab_rail['registry']registry['xxxxx']を設定しないでください、あなたドン場合の値を設定しない

registry_external_url 'http://ec2-54-167-34-63.compute1.amazonaws.com:4567' 

をあなたが修正しているものは分かりません。証明書について

gitlab.rbファイルの一番下にチェックして、ここでは、レジストリのためにあなたの証明書を設定することができます。

registry_nginx['ssl_certificate'] = "/path/to/my/cert.crt" 
registry_nginx['ssl_certificate_key'] = "/path/to/my/key.key" 

はまた、この出力を確認し、あなたのGitLabのチェックを行うためのコマンドインスタンス:ちょうどdeporclickよう

sudo gitlab-rake gitlab:check 
0

、とレジストリのためにあなたの証明書を設定しました:

registry_nginx['ssl_certificate'] = "/path/to/my/cert.crt" 
 
registry_nginx['ssl_certificate_key'] = "/path/to/my/key.key"

関連する問題