我正试图探索一种方法,将postgres 13云sql实例与本地windows机器的私有IP连接起来。。我能够通过与默认GCP行为相同的子网绑定的计算实例进行连接。。
我希望它是安全的,我的云实例只能通过VPN设置访问。。我安装了Open VPN CE,并在GCP防火墙规则中将Open VPN ip列入白名单。仍在获取错误消息。
psql: error: could not connect to server: Connection timed out
Is the server running on host "{ip_address}" and accepting
TCP/IP connections on port 5432?
不过,也有一些方法可以通过启用了云代理的私有IP进行连接。但是有没有一种方法可以通过其他VPN实现呢。?
- 当您收到此错误时,大部分时间都是由于没有PostgreSQL配置为允许TCP/IP连接或至少不允许来自特定工作站的连接。这是一个列表此问题的常见原因:
a(postgresql.conf未设置为允许TCP/IP连接。您需要查看listen_address配置参数。
b(postgresql.conf未设置为允许在非标准端口号。要确定端口的外观配置选项。
c( PostgreSQL访问配置文件中的身份验证规则(pg_hba.conf(未设置为允许用户或IP连接到该数据库的地址。请参阅有关设置您的pg_hba.conf正确。
d( 确保没有防火墙,例如阻止您的本地系统甚至建立与远程主机。对于常见的PostgreSQL问题和可能的解决方案,请在此处查看。
-
您必须编辑postgresql.conf文件并更改行带有"listen_addresss"。您可以在/etc/postgresql/13/main目录。要从其他计算机连接PostgreSQL服务器,您必须以这种方式更改此配置行:
listen_addresses = '*'
-
然后,您还必须编辑pg_hba.conf文件。在这个文件中已设置,您可以从哪些计算机连接到此服务器,以及您可以使用的身份验证方法。通常你需要类似线路:
host all all <IP address> md5
有关详细步骤,您可以在此处查看。
最后,我不得不在只有私有IP的f1微虚拟机实例上设置云SQL代理。。将端口5432列入防火墙规则的白名单。
从tableplus,我使用vm实例的私有IP连接到我的cloudpostgress实例。
很好。如果有人有其他选择,请告诉我。