2016-07-23 7 views
2

私はConsulを使ってWebアプリケーションを登録します。 WebアプリケーションはJava Consulクライアントを使用してチェックに登録します。私は、領事代理人と私のwebappと領事代理店の間の交換を暗号化する自己署名CAを使用してTLSと暗号化を有効にすることができます。しかし、自己署名入りのCA署名付き証明書でHTTPSをチェックすることはできません。Consul Check HTTPS自己署名

私のWebアプリケーションは保護されており、自己署名入りの証明書でHTTPSのみをリッスンします。領事とのセッションを登録し、確認のためにhttps:// ... URLを入力すると、私は拒否されます:

com.orbitz.consul.ConsulException:領事の要求はステータス[500]で失敗しました:rpcエラー:rpcエラー:チェック「サービス:a4cHealthCheck:172.17.0.3は」領事エージェントのログで臨界状態

であり、私が見ることができます:

2016/07/23 08:24:45 [WARN] agent: http request failed 'https://172.17.0.3:8443/rest/latest/health/check': Get https://172.17.0.3:8443/rest/latest/health/check: x509: certificate signed by unknown authority 

領事エージェントはのための自己署名証明書を受け入れていないようですチェック。チェックのためだけにSSL検証を無効にする方法や、チェックのためにトラストを提供する方法はありますか?

答えて

1

Golang crypto libには信頼できる権限を求める設定されたパスがあります。これは、OSによって異なりますが、Linuxシステムのために、あなたはこれをチェックすることができます

https://golang.org/src/crypto/x509/root_linux.go

だから、あなたはあなたの問題は、システムのデフォルトにあなたのCAをインストールすることで解決していることができます。ルート証明書をインストールする方法については

、参照

https://superuser.com/questions/437330/how-do-you-add-a-certificate-authority-ca-to-ubuntu

や他の人のためのOS:

http://kb.kerio.com/product/kerio-connect/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server-1605.html

HTH;)あなたがしてHTTPSチェックを無効にすることができます

+0

聖なる牛は、私があなたのポストを見つけるまでに数時間かかりました!どうもありがとう! – Adelave

+0

あなたが提供するリンクを使ってMacOSで動作させることはできませんでした。別の解決策のアイデア? –

0

プロパティtls_skip_verify。これは、Consul checks documentationのHTTPセクションに記述されています。 JSONファイルを使用してエージェントを設定する場合は、次の設定例があります。

{ 
    "services": [ 
    { 
     "id": "instance-1", 
     "name": "ManagementService", 
     "address": "localhost", 
     "port": 11080, 
     "checks": [ 
     { 
      "id": "api", 
      "name": "HTTP API", 
      "http": "https://localhost:11081/service/monitoring/ping", 
      "tls_skip_verify": true, 
      "interval": "5s", 
      "timeout": "1s" 
     } 
     ] 
    } 
    ] 
} 
+0

こんにちは@ニコラス:私は領事を実行するためのWindowsプラットフォームです。私はあなたが投稿した同様の設定を試しました。しかし、健康診断は決して登録されていません。何か案が?私の全体の設定はここにある:{ "サービス":{ "ID": "somenameの"、 \t "名前": "nameofthissevice"、 "サービス": "MYSERVICE"、 "住所":「127.0.0.1 " "ポート":62133、 "enableTagOverride":偽、 \t "チェック":{ "IDを": "somenameの"、 "名": "nameofthissevice"、 "HTTP":" のhttp:/ /127.0.0.1:62133/Service1.svc/MyService/PingMe」、 "tls_skip_verify":偽、 "方法を": "GET"、 "間隔": "10S"、 "タイムアウト": "1" } } } – NANDAKUMAR

+0

どの領事館のどのバージョンを使用していますか? –

+0

こんにちは@ニコラス、0.9で試してみました。Windowsプラットフォームでは0です。 – NANDAKUMAR

関連する問題