簡體   English   中英

postgresql 中 SSL 連接上的“主機名未驗證錯誤消息”

[英]“HostName not verified error message” on SSL connection in postgresql

我在 Centos 7 上創建了server.crtserver.keyroot.crt文件,並將它們放在root.crtC:\\Users\\xxxx\\AppData\\Roaming\\postgresql文件夾中,因為我正在 Windows 上運行 postgresql 服務器。 現在使用 SSL 運行我的應用程序,我收到錯誤

“無法驗證主機名”

請任何幫助。

我正在使用 JetBrains Data Grip 訪問 Heroku 上的 Postgres dbs,並在最新的 JDBC 驅動程序版本中遇到相同的錯誤。 這就是我解決它的方法(使用此處提供的答案)。

在高級選項卡中設置以下內容:

ssl=真

sslmode=需要

sslfactory=org.postgresql.ssl.NonValidatingFactory

(我將sslmode值從verify-ca更新為required因為它現在可以與 Heroku Postgres 一起使用)

如果您不關心主機名驗證但仍想使用證書,則可以使用附加參數sslmode=verify-ca作為連接參數或作為 URL 的一部分來禁用主機名驗證,同時保留證書驗證。

要在沒有服務器證書驗證的情況下使用 PostgreSQL JDBC 驅動程序,請使用

sslfactory=org.postgresql.ssl.NonValidatingFactory

作為連接參數或作為文檔中描述的 URL 的一部分。

對於更高版本的 JDBC 驅動程序,您必須指定

sslmode=require

因為默認值verify-full意味着客戶端要檢查服務器的證書和身份。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM