2016-07-24 12 views
2

を変更する:https://about.gitlab.com/downloads/#centos7、ここで説明したように、私はオムニバスパッケージを経由して(新規インストール)CentOSの7の最新Gitlab-CE(8.10)がインストールされているデフォルトGitlabポート

今、私は時にデフォルトのポートを変更したいですGitlab Webインターフェイスにアクセスすることができます。この目的を達成するために、私はhttp://docs.gitlab.com/omnibus/settings/nginx.html#change-the-default-port-and-the-ssl-certificate-locationsで指示に従った、つまり私は、構成ファイル/etc/gitlab/gitlab.rb

external_url "http://127.0.0.1:8765" 

を含め、その後gitlab-ctl reconfigure && gitlab-ctl restartで構成を更新しました。

しかし、http://127.0.0.1:8765に移動すると、Gitlabはhttp://127.0.0.1/users/sign_inにリダイレクトされ続けます。つまり、ポートの指定が何らかの形で破棄されます。ブラウザのURLを手動でhttp://127.0.0.1:8765/users/sign_inに変更すると、ログインページが正しく表示され、面白いことに、ページのすべてのリンク(「Explore」、「ヘルプ」など)にポートの指定が含まれています。

この動作を修正するには、/etc/gitlab/gitlab.rb以外の場所でポートを指定する必要がありますか。 external_urlのほか

+0

ストレンジ:https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/1210/diffsは正しくも設定ヘッダREこれを固定している必要がありますか? (http://docs.gitlab.com/omnibus/settings/nginx.html#change-the-default-port-and-the-ssl-certificate-locations) – VonC

+0

@VonC興味深いことに、あなたの提案にしたがって、私はちょうどコメントを外しました/ etc/gitlab/gitlab.rb'の 'nginx ['proxy_set_headers']'のデフォルト設定( 'X-Forwarded-Proto'を' http'に変更し、 'X-Forwarded-Ssl'を削除します)作品!私はドキュメントを誤解しているに違いありません。修正する必要があるのは 'external_url'だけであることを示唆しているようです。 – ewcz

+0

よくできました!ドキュメントの特定の部分をより明瞭にするための回答を追加しました。 – VonC

答えて

2

ここで問題:https://gitlab.com/gitlab-org/gitlab-ce/issues/20131 回避策: /etc/gitlab/gitlab.rbするために、この行を追加します。

nginx['proxy_set_headers'] = { "X-Forward-Port" => "8080", "Host" => "<hostname>:8080" } 

その後、rootまたはsudoをして、自分の価値観を持つポートとホスト名に置き換えます。

gitlab-ctl reconfigure 
gitlab-ctl restart 

これはgitlab-repのgitlab-ceというDebian 8.5で役に立ちます。

1

、またドキュメントは、いくつかのnginxのプロキシヘッダーを設定することを提案:デフォルトでは

、あなたがexternal_urlを指定すると、オムニバス-gitlabが想定され、いくつかのnginxのプロキシヘッダーを設定しますほとんどの環境では正常である。例えば

、オムニバス-gitlabが設定されます:

"X-Forwarded-Proto" => "https", 
"X-Forwarded-Ssl" => "on" 

(あなたがexternal_urlでhttpsのスキーマを指定した場合)。

あなたのGitLabリバースプロキシの背後にあるように、より複雑な設定である状況を持っている場合は、あなたが望んでいたの変化のようなエラーを回避するために、プロキシヘッダを微調整する必要がありますが拒否されたりすることはできました。 CSRFトークンの真正性を検証しない422 Unprocessable。

これは、デフォルトヘッダーをオーバーライドすることで実現できます。 /etc/gitlab/gitlab.rbで指定:変更を有効にするには、

nginx['proxy_set_headers'] = { 
    "X-Forwarded-Proto" => "http", 
    "CUSTOM_HEADER" => "VALUE" 
} 

ファイルを保存してreconfigure GitLabを。

この方法で、必要なNGINXでサポートされているヘッダーを指定できます。

は、私はちょうど/etc/gitlab/gitlab.rbnginx['proxy_set_headers']のデフォルト設定をコメント解除(また、httpからX-Forwarded-Protoを変更し、X-Forwarded-Sslの除去)し、突然それが動作します:

OP ewczin the comments確認します!

0

上記のコメントに続いてetc/gitlab.rbを変更しました。私のポートはに変更されませんでした。

external_url http://localhost:13080/ 
... 
nginx['proxy_set_headers'] = { 
    "X-Real-IP" => "$remote_addr", 
    "X-Forwarded-For" => "$proxy_add_x_forwarded_for", 
    "X-Forwarded-Proto" => "https", 
    "X-Forwarded-Ssl" => "on", 
    "X-Forward-Port" => "13080", 
    "Host" => "localhost:13080" 
} 

gitlab-ctl reconfigure 
gitlab-ctl restart 
関連する問題