我正在尝试按照服务器模式配置pgadmin4的数字海洋教程,但该死的很长,我必须首先配置apache服务器,python和virtualenv(通过其他2个教程)。
我不想在我的服务器中安装这么多依赖项只是为了通过pgamin 4访问postgres。
你们是怎么做到的?
我正在运行一个go webserver,通过https侦听端口443并重定向80到443
看到你的其他答案,我想提供一个更安全的替代方案。
目前的方法有什么问题?
您的PostgreSQL实例可从Internet访问。通常,您应该尝试仅在需要时限制访问。特别是如果你没有使用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
下找到/etc/postgresql/10/main
2. 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
jdbc:postgresql://example.com:5432/my_database_name
Source > Settings > Schemas tab > [check] All Databases > refresh