2017-05-15 4 views
0

現在、私は、nginxを経由するプライベートDockerレジストリを使用しているシステムを持っていますが、レジストリを新しい場所(新しいホスト名)に変更します。nginxを使用して複数のレジストリURLを持つDockerプライベートレジストリ

nginxを使用してURLを新しいレジストリに書き換えたり、リダイレクトすることは可能ですか?

など。

私はレジストリregistry-old.domain.comを持っていますが、私は新しいものを持っていますregistry-new.domain.comdocker pull registry-old.domain.comを引き続き使用したいのですが、実際には新しいレジストリregistry-new.domain.comに行ってください。

イメージがレジストリのURLでタグ付けされなければならないため、これが可能かどうかはわかりません。

これは、現在、私のnginxの設定です:

# New config to cover old and new domain 
# Works for new, but not for the old domain 
server { 
    server_name registry-old.domain.com registry-new.domain.com; 

    location/{ 
    proxy_pass http://localhost:5000; 
    proxy_set_header Host registry-new.domain.com; # Also tried $host 
    proxy_set_header X-Real-IP $remote_addr; 
    } 
} 

# Original working registry 
#server { 
# server_name registry-old.domain.com; 
# 
# location/{ 
# proxy_pass http://oldRegistry:5000; 
# proxy_set_header Host $host; 
# proxy_set_header X-Real-IP $remote_addr; 
# } 
#} 

答えて

0

はい、あなたはそれを行うことができますが、あなたはTLSを使用している場合は、サブジェクトの別名に共通名またはDNS:*.domain.comとして*.domain.comとワイルドカードTLS証明書を持っている必要があります。

+0

私はこれを行うことができます、それはちょうど(TLSを無視して)動作していないようですか?私はプロキシでホスト名を強制的に試してみました。 – braza

+0

質問を現在の設定で更新しました – braza

+0

https://github.com/docker/distribution/tree/master/contrib/compose/nginxの設定例をご覧ください 私はその設定例に追加しますキープアライブを有効にするには、次のようにします。 '' 'proxy_http_version 1.1; proxy_set_header接続 ""; '' ' –

関連する問題