2016-07-23 32 views
2

我使用Consul來註冊一個Web應用程序。 Web應用程序使用Java Consul客戶端進行支票註冊。我能夠使用自簽名的CA激活TLS和加密,以加密consul代理之間以及我的webapp和consul代理之間的交換。但是我無法通過自簽名CA簽名證書對HTTPS進行檢查。Consul Check HTTPS自籤

我的Web應用程序受到保護,並且只在具有自簽名證書的HTTPS上進行偵聽。當我向領事登記會議並提供https:// ... URL進行檢查時,我被拒絕:

com.orbitz.consul.ConsulException:Consul請求失敗,狀態爲[500]:rpc error: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驗證只用於支票或提供檢查truster?

回答

1

Golang crypto lib有一個設定的路徑,他尋找值得信賴的權威。這種變化的操作系統,但對於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)

+0

神牛,花了我幾個小時才找到你的帖子!非常感謝! – Adelave

+0

我沒有設法通過您提供的鏈接使其適用於MacOS。任何其他解決方案的想法? –

0

您可以禁用HTTPS檢查物業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

嗨@nicolas:我是運行領事的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」, 「間隔」: 「10秒」, 「超時」: 「1」 } } } – NANDAKUMAR

+0

你使用的是什麼版本的領事? –

+0

嗨@nicolas,在0.9上試過。0在Windows平臺上。 – NANDAKUMAR