【问题标题】:Connect to remote postgres server from EC2 Instance从 EC2 实例连接到远程 postgres 服务器
【发布时间】:2020-01-16 23:59:34
【问题描述】:

我正在尝试从可从 Amazon EC2 实例远程访问的 Postgres 服务器获取数据。当我尝试 telnet 远程服务器时,它已连接。

但是当我运行一个连接到远程 Postgres 服务器的 kafka 连接器时,它会抛出一个错误说明

FATAL: no pg_hba.conf entry for host, SSL off for configuration Couldn't open a connection to jdbc:postgresql://<url>

我尝试将连接字符串从 jdbc:postgresql://host:5432/schema_name?user=******&amp;password=******&amp;defaultFetchSize=250000&amp;useCursorFetch=truejdbc:postgresql://host:5432/schema_name?ssl=true&amp;user=******&amp;password=******&amp;defaultFetchSize=250000&amp;useCursorFetch=true

然后它会引发另一个错误,即

The server does not support SSL. for configuration Couldn't open a connection to jdbc:postgresql://&lt;url&gt;

Postgres 服务器不支持 SSL,因为我可以通过任何没有 ssh 的数据库连接器连接到服务器。我确信它必须与 EC2 的安全访问组有关(考虑到我可以从实例远程登录到服务器)。任何帮助将不胜感激。

【问题讨论】:

    标签: postgresql amazon-ec2 apache-kafka-connect


    【解决方案1】:

    看起来 pg_hba.conf 中有错误。我会将此作为评论但没有足够的代表。

    当你 telnet 到服务器时,你使用了 db 端口吗?

    你能发布你的 pg_hba.conf 文件吗?这是我的家庭开发服务器之一。您需要添加与此类似的一行:host all all 192.168.1.1/24 md5 with your IP addr and details.

    如果您在公司网络中使用它,我强烈建议您查看亚马逊 VPC,并且不要将您的数据库暴露在互联网上。

    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    # "local" is for Unix domain socket connections only
    local   all             all                                     peer
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            md5
    host    all             all             10.10.187.1/24          md5
    

    【讨论】:

    • 我已经使用了 DB 端口并且它已连接。它能够从其他 ec2 实例进行连接。由于这是远程数据库,我们不对其进行维护,因此我们无法编辑 pg_hba.conf 文件。
    猜你喜欢
    • 2018-02-27
    • 2014-09-18
    • 1970-01-01
    • 2012-04-03
    • 2016-01-20
    • 2023-03-20
    • 2017-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多