Azure Postgres数据库需要来自Corda的SSL连接 [英] Azure Postgres Database requires SSL Connection from Corda
本文介绍了Azure Postgres数据库需要来自Corda的SSL连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用来自Azure的托管的Postgres数据库,Corda节点无法运行在启动时连接到数据库.
Using the managed Postgres database from Azure a Corda node is unable to connect to the database on start.
[ERROR] 2019-01-23T11:28:50,937Z [main] internal.Node.run - Exception during node startup {}
com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: FATAL: SSL connection is required. Please specify SSL options and retry.
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:512) ~[HikariCP-2.5.1.jar:?]
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:105) ~[HikariCP-2.5.1.jar:?]
at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:71) ~[HikariCP-2.5.1.jar:?]
at net.corda.node.internal.DataSourceFactory.createDataSource(DataSourceFactory.kt:38) ~[corda-node-3.3-corda.jar:?]
at net.corda.node.internal.DataSourceFactory.createDataSource$default(DataSourceFactory.kt:35) ~[corda-node-3.3-corda.jar:?]
at net.corda.node.internal.AbstractNodeKt.configureDatabase(AbstractNode.kt:927) ~[corda-node-3.3-corda.jar:?]
at net.corda.node.internal.AbstractNode.initialiseDatabasePersistence(AbstractNode.kt:695) ~[corda-node-3.3-corda.jar:?]
at net.corda.node.internal.Node.initialiseDatabasePersistence(Node.kt:347) ~[corda-node-3.3-corda.jar:?]
at net.corda.node.internal.AbstractNode.start(AbstractNode.kt:207) ~[corda-node-3.3-corda.jar:?]
at net.corda.node.internal.Node.start(Node.kt:361) ~[corda-node-3.3-corda.jar:?]
at net.corda.node.internal.NodeStartup.startNode(NodeStartup.kt:203) ~[corda-node-3.3-corda.jar:?]
at net.corda.node.internal.NodeStartup.run(NodeStartup.kt:126) [corda-node-3.3-corda.jar:?]
at net.corda.node.Corda.main(Corda.kt:13) [corda-node-3.3-corda.jar:?]
My node.conf includes a standard Postgres configuration as recommended in this answer.
dataSourceProperties = {
dataSourceClassName = "org.postgresql.ds.PGSimpleDataSource"
dataSource.url = "jdbc:postgresql://[HOST]:[PORT/[DATABASE]"
dataSource.user = [USERNAME]
dataSource.password = [PASSWORD]
}
database {
schema = "corda"
transactionIsolationLevel = "READ_COMMITTED"
}
如何确保Postgres通过SSL连接?
How can I ensure Postgres is connecting over SSL?
推荐答案
Postgres允许直接在jdbc字符串中设置ssl模式.请参阅下面的更新配置,其中包括?ssl = true".
Postgres allows for setting the ssl mode directly in the jdbc string. See updated configuration below which includes "?ssl=true".
dataSourceProperties = {
dataSourceClassName = "org.postgresql.ds.PGSimpleDataSource"
dataSource.url = "jdbc:postgresql://[HOST]:[PORT/[DATABASE]?ssl=true"
dataSource.user = [USERNAME]
dataSource.password = [PASSWORD]
}
database {
schema = [SCHEMA]
transactionIsolationLevel = "READ_COMMITTED"
}
database.schema属性是可选的,并且仅适用于Corda Enterprise.它代表数据库的名称空间.
The database.schema property is optional and Corda Enterprise only. It represents the database's namespace.
这篇关于Azure Postgres数据库需要来自Corda的SSL连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文