有什么可能性连接到postgres数据库

时间:2016-06-03 14:45:45

标签: postgresql internet-connection

我想知道:连接到postgres数据库有什么可能性?

我知道至少有两种可能性。

  1. 第一种可能性是粗野的:打开一个端口,让用户匿名进行更改。
  2. 第二种方法是创建一个使用SQL命令与postgres通信的网站。
  3. 我无法在互联网上找到更多选项,所以我想知道是否有任何选项。如果存在其他选择,我很好奇。因为这些选项中的一个可能是通过互联网与postgres进行通信的最佳解决方案。

1 个答案:

答案 0 :(得分:1)

我认为这更像是一个网络/安全类型的问题。

  1. 你可以让你的数据库完全暴露在互联网上,这通常是一个坏主意,除非你只是为了好玩而且不介意它在某些时候完全被冲洗。我认为这就是你问题的选项1的意思。
  2. 您可以在前面安装一个防火墙,只为某些传入的IP公开它。这稍微好一点,但对于数据库仍然有点暴露,特别是如果有敏感数据的话。
  3. 如果您需要与数据库进行交互的人数有限,则可以将其完全防火墙,但允许SSH连接到内部网络(可能是同一服务器),然后通过ssh隧道前进。如果您需要为数据库网络外部的人员提供完全数据库访问权限,这通常是最好的方法,因为通过对每个传入连接使用公共/私有密钥对,SSH可以比直接数据库连接更安全。您还可以通过防火墙仅允许来自特定IP的SSH作为额外的安全级别。
  4. 与SSH类似,您可以站起来并允许访问数据库所在的LAN,并通过VPN控制访问。
  5. 如果您拥有更广泛的受众群体,则无法允许外部访问数据库(除了您或通过SSH隧道或VPN的DBA /管理员类型人员)。然后通过一个网站建立访问权限,在服务器端脚本(php,node.js,rails,.net,what-have-you)上完成与DB的通信。这是通常的网站设置,每个站点后面都有一个数据库使用。我认为这就是你在问题的选项2中的意思。