- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我尝试连接我的RDS实例,但我不希望SSL证书检查主机名。
到目前为止,我知道使sslmode = verify-ca不会检查主机名,但是出于某种原因。以下是堆栈跟踪,以获取更多详细信息
十一月20,2019 6:06:11 PM org.postgresql.Driver连接
严重:连接错误:
org.postgresql.util.PSQLException:无法验证主机名。
在org.postgresql.ssl.MakeSSL.convert(MakeSSL.java:93)
在org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:391)
在org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:162)
在org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
在org.postgresql.jdbc.PgConnection。(PgConnection.java:195)
在org.postgresql.Driver.makeConnection(Driver.java:452)
在org.postgresql.Driver.connect(Driver.java:254)
在amazon.jdbc.driver.spi.PostgresqlConnectionProvider.getConnection(PostgresqlConnectionProvider.java:85)
在amazon.cj.dbaccess.FallbackWorker.iteratePasswordStore(FallbackWorker.java:101)
在amazon.cj.dbaccess.FallbackWorker.getConnection(FallbackWorker.java:59)
在amazon.cj.dbaccess.CacheController.getConnection(CacheController.java:153)
在amazon.jdbc.driver.SecureDriver.connect(SecureDriver.java:174)
在org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:307)
在org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:200)
在org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:728)
在org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:662)
在org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:480)
在org.apache.tomcat.jdbc.pool.ConnectionPool。(ConnectionPool.java:154)
在org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:115)
在org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:102)
在org.apache.tomcat.jdbc.pool.DataSourceFactory.createDataSource(DataSourceFactory.java:559)
在org.apache.tomcat.jdbc.pool.DataSourceFactory.getObjectInstance(DataSourceFactory.java:244)
在org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:94)
在javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
在org.apache.naming.NamingContext.lookup(NamingContext.java:848)
在org.apache.naming.NamingContext.lookup(NamingContext.java:158)
在org.apache.naming.NamingContext.lookup(NamingContext.java:835)
在org.apache.naming.NamingContext.lookup(NamingContext.java:172)
在org.apache.catalina.core.NamingContextListener.addResource(NamingContextListener.java:1091)
在org.apache.catalina.core.NamingContextListener.createNamingContext(NamingContextListener.java:670)
在org.apache.catalina.core.NamingContextListener.lifecycleEvent(NamingContextListener.java:258)
在org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95)
在org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
在org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5213)
在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
在org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
在org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
在org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
在org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:976)
在org.apache.catalina.startup.HostConfig $ DeployWar.run(HostConfig.java:1853)
在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)
在java.lang.Thread.run(Thread.java:748)
数据库登录失败url:jdbc:postgresql://:8194 / fa_rhythm_db_dev?ssl = true; sslmode = verify-ca; sslrootcert = / apollo / env / RhythmTomcatBase / certs / rds-combined-ca-bundle.pem moduleName:null properties :{sslrootcert = / apollo / env / RhythmTomcatBase / certs / rds-combined-ca-bundle.pem} @ driver:class amazon.jdbc.driver.SecureDriver url:jdbc:amazon:postgresql:// hostname:8194 / fa_rhythm_db_dev? ssl = true; sslmode = verify-ca; sslrootcert = / apollo / env / RhythmTomcatBase / certs / rds-combined-ca-bundle.pem数据库:fa_rhythm用户:pega模块:空属性:{}
最佳答案
如果将参数sslmode设置为verify-ca,libpq将通过检查证书链直至受信任的证书颁发机构(CA)来验证服务器是否可信任。如果sslmode设置为verifyfull,libpq还将验证服务器主机名是否与其证书匹配。如果无法验证服务器证书,则SSL连接将失败。建议在大多数对安全性敏感的环境中使用“完全验证”。
从documentation
如果您明确知道要连接到正确的主机并信任所述主机,则可以使用sslmode=require
关于ssl - 使sslmode = verify-ca后无法验证主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58968202/
作为 NoSQL 世界的新手,我决定试用 mongodb,并下载了以下版本,我认为它支持开箱即用的 ssl: db version v3.2.4 git version: e2ee9ffcf9f5a9
当使用 psql 连接到我的 PostgreSQL 数据库时,我需要指定 sslmode=allow,例如:psql sslmode=allow -h localhost -p 5432否则我得到 s
我有一个用 VB.NET 编写的客户端应用程序,它连接到远程 MySQL 服务器。我想在连接安全或不安全时登录 UI。 SslMode 设置为 Preferred(如果服务器支持则使用 SSL,但在所
我们正在通过 jdbc 和 psql (libpq) 连接到 postgres 服务器。我已将 ssl 设置为在 postgres 服务器上。它可以采用 ssl 和非 ssl 连接。 我通过 psql
我有一个使用 Amazon RDS PostgreSQL 数据库的 Rails 3.2 应用程序。我希望应用程序通过 SSL 连接到数据库。我的 database.yml 看起来像这样: develo
有没有办法让 pg-gem 为它的 postgres 连接使用 sslmode = verify-full?这会像传递那个字符串一样简单吗?我有一个 Rails 应用程序,我想在外部数据库上建立完整的
我已从连接字符串中删除了 sslmode=verify-full,该连接字符串仍在运行的服务中使用 sslmode=verify-full。我设置了 ssl=true 但删除了 sslmode。它是在
我正在尝试连接到仅支持 SSL 连接的 Heroku Postgres。 SSL 连接在其他工具 (Postico) 和编程环境 (Node.js) 中工作正常,但是从 PHP 连接时,我总是会收到此
我正在尝试将我的 PSQL 连接到 VSCode,并且我收到一条错误消息“服务器不支持 SSL 连接”,同时在 stackoverflow 中寻找解决方案时我发现了一个运行建议 psql "sslmo
我知道亚马逊有 sslmode =需要 ODBC 驱动程序。但是 我没有为 jdbc driver 找到这样的模式.如何为 JDBC 指定 sslmode= require。 默认和首选模式的相同问题
我使用以下代码连接到 postgresql 数据库。它运作良好。但现在我想在启用 sslmode 的情况下连接它。任何人都可以帮助我实现这一目标。 NSString* portS = [NSNumbe
当我在连接到 Azure 中的 postgres 服务器时选择“sslmode=verify-full”时,连接失败并出现以下错误: “ .control.database.windows.net”(
我有一个连接到 AWS RDS 的 python 应用程序。 连接字符串允许我在 Docker 中毫无问题地运行应用程序: postgresql://:@/ 以下 2 个连接字符串运行时出现以下错误:
我是一名优秀的程序员,十分优秀!