【问题标题】:RStudio on Windows PostgreSQL SSL Connection with RPostgreSQLWindows PostgreSQL 上的 RStudio 与 RPostgreSQL 的 SSL 连接
【发布时间】:2017-06-25 06:43:15
【问题描述】:

我在使用 RPostgreSQL 创建与 AWS 托管的 PostgreSQL 数据库的 SSL 连接时遇到问题。

这是我迄今为止尝试过的:

  1. 在 AWS 上创建了 PostgreSQL 数据库。
  2. 将数据库参数“rds.force_ssl”设置为 1。
  3. https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem 下载了 AWS 公钥
  4. 使用 psql 从 Windows 命令提示符测试连接(它可以工作)。
  5. 在 R 中执行以下操作:

    library(RPostgreSQL)
    cert <- paste0("C:/Users/johnr/Downloads/", "rds-combined-ca-bundle.pem")
    dbname <- paste0("dbname=", "flargnog", " ", "sslrootcert=", cert, " ", "sslmode=verify-full")
    host <- "xxxxxx.xxxxx.us-region-2.rds.amazonaws.com"
    con <- dbConnect(dbDriver("PostgreSQL"), user="username", host=host, port=5432, dbname=dbname, password="abcd1234!")
    

执行最后一条语句后收到错误消息:

Error in postgresqlNewConnection(drv, ...) : 
RS-DBI driver: (could not connect username@xxxxxx.xxxxx.us-region-2.rds.amazonaws.com on dbname "flargnog"

如果我将 rds.force_ssl 设置更改为 0(并从 dbname 中删除 ssl 内容),则连接工作正常。

我查看了 Stackoverflow 上与此问题相关的其他帖子。 Thisthis 似乎表明由于 RPostgreSQL 的问题而无法建立 SSL 连接。但是,this post 表示可以。

任何指导将不胜感激!

【问题讨论】:

    标签: r postgresql ssl


    【解决方案1】:

    您可以尝试使用 ssh 连接到 rds 实例,例如putty 并将您的本地端口 5432 端口转发到远程端口 5432。在 R 中打开 ssh 连接后,只需连接到 localhost:5432...

    这里是如何使用 putty 进行端口转发:
    http://www.akadia.com/services/ssh_putty.html

    这是通过命令行的工作方式: https://gist.github.com/magnetikonline/3d239b82265398568f31

    P.S.:确保您的实例位于接受 ssh 连接的安全组中 - 端口 22

    【讨论】:

      猜你喜欢
      • 2016-12-20
      • 2019-06-01
      • 2014-02-07
      • 1970-01-01
      • 2019-07-14
      • 2013-03-29
      • 2023-01-29
      • 2020-02-05
      • 2014-04-13
      相关资源
      最近更新 更多