【问题标题】:Relay PostgreSQL connection over another server通过另一台服务器中继 PostgreSQL 连接
【发布时间】:2013-04-02 16:08:36
【问题描述】:

我在远程服务器上使用 PostgreSQL 数据库,防火墙非常严格,只允许来自我们的网络服务器的连接。这使得在我自己的工作站上开发东西变得非常困难,因为我无法直接连接到该服务器来测试我的代码。

我想做的是在我们的网络服务器上设置某种代理,它只是将所有查询发送到防火墙服务器。然后我可以从我的工作站使用我们的服务器来测试我的代码。任何想法如何做到这一点或解决我的问题的其他方法?

【问题讨论】:

  • 我认为“我不能直接连接到这个服务器来测试我的代码”是一件好事,一件非常非常好的事情。您最好针对数据库的本地副本或远程登台服务器(具有生产数据的副本)进行测试。对生产数据库进行测试只是通往痛苦的捷径。
  • 别担心,我有一个临时服务器,远程服务器使用数据库的副本进行测试,我只是无法从我通常工作的家中连接到它。

标签: postgresql proxy


【解决方案1】:

使用 ssh 并创建一个本地隧道,类似这样(仅当您在 Web 服务器上运行 ssh 守护程序时才有效)

ssh user@webserver.com -CNL localhost:5432:192.168.1.128:5432

上面将监听 localhost 上的 5432(postgres 端口),并通过 web 服务器将所有流量转发到远程机器。

正如 Ricky Han 所说,您需要将地址 192.168.1.128 更改为您的 PostgreSQL 服务器的地址。

显然,您还需要更改 webserver.com 的名称! :-)

【讨论】:

  • 非常感谢,这很容易,我很快就搞定了!我将远程服务器添加为 locahost 的别名,因此我什至不必更改代码中的连接字符串。
  • ssh 可能是世界上最酷的软件 :-)。我花了一段时间才意识到它有多强大,但现在我一直用它来挖隧道。我最近遇到了和你一模一样的问题,按照上面的方法解决了。
  • 用你的 postgres IP 地址替换 192.168.1.128
猜你喜欢
  • 2014-07-27
  • 1970-01-01
  • 1970-01-01
  • 2016-09-25
  • 1970-01-01
  • 2017-03-25
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
相关资源
最近更新 更多