我正在尝试遵循有关在服务器模式下配置 pgadmin4 的数字海洋教程,但该死的很长,我必须首先配置 apache 服务器、python 和 virtualenv(通过其他 2 个教程)。
我不想在我的服务器中安装这么多依赖项,只是为了通过 pgamin 4 访问 postgres。
你们是怎么做到的?
我正在通过 https 运行一个 go 网络服务器,监听端口 443 并将 80 重定向到 443
我正在尝试遵循有关在服务器模式下配置 pgadmin4 的数字海洋教程,但该死的很长,我必须首先配置 apache 服务器、python 和 virtualenv(通过其他 2 个教程)。
我不想在我的服务器中安装这么多依赖项,只是为了通过 pgamin 4 访问 postgres。
你们是怎么做到的?
我正在通过 https 运行一个 go 网络服务器,监听端口 443 并将 80 重定向到 443
看到您的其他答案,我想提供一个更安全的选择。
目前的方法有什么问题?
可以从 Internet 访问您的 PostgreSQL 实例。通常,您应该尝试仅在需要的地方限制访问。特别是如果您不使用 SSL 连接到 PostgreSQL,像这样的开放端口是流量拦截和暴力攻击的目标。
选择
看到您正在使用 JetBrains IDE,您只需要另一个步骤来访问您的数据 - 设置 SSH 隧道。
这将使用 SSH 加密您在开发主机和服务器之间的所有连接,而不会将 PostgreSQL 暴露给外界。
在 Jetbrains IDE 的数据库连接设置中,选择 SSH/SSL 选项卡和“使用 SSH 隧道”。在相关输入字段中输入您的服务器信息和 SSH 用户 + 密码/SSH 密钥(使用 SSH 密钥以获得更好的安全性)。
撤消您为打开防火墙所做的设置更改并将 PostgreSQL 配置为侦听所有节点。
现在可以通过加密隧道连接到您的数据库,而不会使您的数据库受到任何不必要的攻击。
所以这就是我通过 webstorm 实现从笔记本电脑到我的 ubuntu VPS 的连接(我想任何 intellij 作品也应该与其他 IDE 一起使用)
0 登录到您的服务器 1.postgresql.conf通常位于 2 下/etc/postgresql/10/main
。sudo nano postgresql.conf
3. 在连接处找到并更改线路
listen_addresses = '*'
然后在同一个目录编辑: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
打开 webstorm > 数据库(选项卡) > 点击 + 添加 PostgtresSQL 源(填写相关信息、用户名、密码、数据库名称、主机和端口等...)
jdbc:postgresql://example.com:5432/my_database_name
按模式并同步或按:
Source > Settings > Schemas tab > [check] All Databases > refresh