-2

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

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

你们是怎么做到的?

我正在通过 https 运行一个 go 网络服务器,监听端口 443 并将 80 重定向到 443

4

2 回答 2

1

看到您的其他答案,我想提供一个更安全的选择。

目前的方法有什么问题?

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

选择

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

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

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

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

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

于 2019-04-17T00:22:30.080 回答
0

所以这就是我通过 webstorm 实现从笔记本电脑到我的 ubuntu VPS 的连接(我想任何 intellij 作品也应该与其他 IDE 一起使用)

0 登录到您的服务器 1.postgresql.conf通常位于 2 下/etc/postgresql/10/mainsudo 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       
    
于 2019-04-16T20:16:18.423 回答