2017-12-05 5 views
1

この設定は機能しないと思われますか?traefik:passTLSCert - > TLSClientConfigの作成に失敗しました

#logLevel = "DEBUG" 

defaultEntryPoints = ["https"] 

[entryPoints] 
    [entryPoints.https] 
    address = ":443" 

[file] 

# rules 
[backends] 
    [backends.backend2] 
    [backends.backend2.servers.server1] 
    url = "https://google.de:443" 
    weight = 1 

[frontends] 
    [frontends.frontend1] 
    backend = "backend2" 
    passHostHeader = true 
    passTLSCert=true 
    [frontends.frontend1.routes.default] 
    rule = "Host:search.dev" 

[web] 
    address = ":8080" 

私は(search.devが127.0.0.1に解決されることを考えると)私のブラウザでhttps://search.devを訪問し、google.comを見ることを期待します。 しかし、その代わりに、私はこれを参照してください。passTLSCert=true

いくつかの詳細は:私は、特にSSLターミネーションをしないtraefikを尋ね

$ docker run -p 8080:8080 -p 443:443 -v $PWD/traefik.toml:/etc/traefik/traefik.toml traefik 
time="2017-12-05T20:39:54Z" level=info msg="Using TOML configuration file /etc/traefik/traefik.toml" 
time="2017-12-05T20:39:54Z" level=error msg="Failed to create TLSClientConfig: no TLS provided" 
time="2017-12-05T20:39:54Z" level=error msg="Failed to create RoundTripper for frontend frontend1: no TLS provided" 
time="2017-12-05T20:39:54Z" level=error msg="Skipping frontend frontend1..." 

注目に値する

Version:  v1.4.4 
Codename:  roquefort 
Go version: go1.9.2 
Built:  2017-11-23_10:53:58AM 
OS/Arch:  linux/amd64 

答えて

2

一つは、passTLSCertがTraefikを伝えることですTLSクライアント証明書をバックエンドに転送します。 TraefikでSSL終了を無効にすることはありません。

設定が機能するには、Traefikで使用する証明書を指定する必要があります。

ローカル証明書に例を使用している場合は、次のようになります。

#logLevel = "DEBUG" 

defaultEntryPoints = ["https"] 

[entryPoints] 
    [entryPoints.https] 
    address = ":443" 
    [entryPoints.https.tls] 
     [[entryPoints.https.tls.certificates]] 
     certFile = "example.crt" 
     keyFile = "example.key" 

[file] 

# rules 
[backends] 
    [backends.backend2] 
    [backends.backend2.servers.server1] 
    url = "https://google.de:443" 
    weight = 1 

[frontends] 
    [frontends.frontend1] 
    backend = "backend2" 
    passHostHeader = true 
    passTLSCert=true 
    [frontends.frontend1.routes.default] 
    rule = "Host:search.dev" 

[web] 
    address = ":8080" 
+0

これは本当にあなた自身の入場などによって、あなたが完全に問題を解決することはできません、コメントではなく、答えなければなりません – LordWilmore

+2

あなたは正しいです。私は、適切な回答とサンプルtoml設定を含めるようにコメントを更新しました。 –

+0

答えてくれてありがとうございます。@FrankHinekおそらくはフォローアップの質問です:TCPトラフィックをバックエンドにストリーミングするだけで、それがtraefikの代わりにSSL終了を実行することは可能ですか? – Ich

関連する問題