Golang和通过Ubuntu VPS中的客户端访问postgres?

问题描述 投票:-2回答:2

我正在尝试按照服务器模式配置pgadmin4的数字海洋教程,但该死的很长,我必须首先配置apache服务器,python和virtualenv(通过其他2个教程)。

我不想在我的服务器中安装这么多依赖项只是为了通过pgamin 4访问postgres。

你们是怎么做到的?

我正在运行一个go webserver,通过https侦听端口443并重定向80到443

postgresql go pgadmin pgadmin-4
2个回答
1
投票

看到你的其他答案,我想提供一个更安全的替代方案。

目前的方法有什么问题?

您的PostgreSQL实例可从Internet访问。通常,您应该尝试仅在需要时限制访问。特别是如果你没有使用SSL连接到PostgreSQL,像这样的开放端口是拦截流量和暴力攻击的目标。

替代

看到您正在使用JetBrains IDE,您只需要另外一步来访问您的数据 - 设置SSH隧道。

这将使用SSH加密开发主机和服务器之间的所有连接,而不会将PostgreSQL暴露给外部世界。

在Jetbrains IDE中数据库的连接设置中,选择SSH / SSL选项卡和“使用SSH隧道”。在相关的输入字段中输入服务器的信息和SSH用户+密码/ SSH密钥(使用SSH密钥以提高安全性)。

撤消您为打开防火墙所做的设置更改,并配置PostgreSQL以侦听所有节点。

现在可以通过加密隧道连接到数据库,而不会使数据库暴露于任何不需要的攻击。


0
投票

这就是我通过webstorm实现从笔记本电脑连接到我的ubuntu VPS的连接(我想任何intellij也适用于其他IDE)

0登录到您的服务器1.通常在postgresql.conf下找到/etc/postgresql/10/main 2. sudo nano postgresql.conf 3.在连接处找到并更改线路

    listen_addresses = '*'
  1. 然后在同一个目录编辑:sudo nano pg_hba.conf #TYPE DATABASE USER ADDRESS METHOD host all all 0.0.0.0/0 md5

Md5表示我连接用户和他的密码

5别忘了允许ufw(防火墙)

sudo ufw allow 5432/tcp
  1. 打开webstorm>数据库(选项卡)>单击+添加PostgtresSQL源(填写相关信息,用户名,密码,数据库名称,主机和端口等...) jdbc:postgresql://example.com:5432/my_database_name
  2. 按模式并同步或按: Source > Settings > Schemas tab > [check] All Databases > refresh
© www.soinside.com 2019 - 2024. All rights reserved.