2017-10-11 130 views

回答

5

NiFi使用TLS證書保護。通過Ambari進行安裝和保護時,默認情況下,Ambari會安裝NiFi證書頒發機構(CA),併爲每個NiFi節點生成證書並獲得由該CA簽署的證書。 將NiFI節點私鑰加載到每個NiFi節點的keystore.jks文件中,並將該CA的公鑰加載到每個NiFi節點上的truststore.jks文件中。 當客戶端(上述情況下的客戶端是客戶端)啓動到NiFi的連接時,將協商雙向TLS連接。這涉及到服務器將節點的公鑰(從keystore.jks中的證書派生)發送到客戶端。客戶端將根據truststore.jks文件中的trustedCertEntries列表來檢查該密鑰。如果它發現服務器公鑰或在truststore.jks中籤名該服務器密鑰的CA的公鑰,它將信任服務器提供的證書。然後,客戶端將提供其客戶端證書(從ranger keystore.jks私鑰生成)到目標NiFi節點。 NiFi將遵循上述相同的步驟來確定它是否應該信任使用其truststore.jks文件從該客戶端提供的證書。 您看到的錯誤表明此雙向TLS協商失敗,因爲Ranger不信任由NiFi提供的證書。如果你過去了,你會喜歡失敗的信任另一種方式。您需要確保NiFi節點和Ranger使用的truststore.jks包含此連接兩端的所有必需「trustedCertEntries」。 (這意味着具有NiFi CA的遊俠之truststore.jks文件中加載公鑰和加載在你的NiFi實例使用的truststore.jks文件的遊俠證書的公鑰。