问题
一般来说,在将远程服务连接到PostgreSQL数据库时会出现大量问题。由于连接到PostgreSQL数据库的任务需要管理员修改PostgreSQL.conf和pg_hba.conf文件,因此大多数服务的文档中并没有真正的文档。
当前的方案是让AppSmith远程访问给定的服务器。
- PostgreSQL需要在pg_hba.conf中允许以下IP地址:
18.223.74.85
和3.131.104.27
- 研究SSL连接,以及在这种情况下是否需要
成功标准:
- Appsmith能够连接到给定的数据库
- Appsmith能够向给定的数据库读取/写入数据
分辨率研究
- 允许上述IP地址在
pg_hba.conf
文件中连接到PostgreSQL数据库,并将postgresql.conf
文件更改为允许使用listening_addresses = '*'
进行远程连接,并没有解决问题。Appsmith无法连接到数据库
SSL Connection
:SSL代表安全套接字层,简而言之,它是保持互联网连接安全和保护两个系统之间发送的任何敏感数据的标准技术,防止犯罪分子读取和修改传输的任何信息,包括潜在的个人详细信息。
SSL被证明是这个问题的死胡同,没有解决方案。
- 为了创建SSL连接,必须遵循以下步骤(PostgreSQL SSL文档:https://www.postgresql.org/docs/9.1/ssl-tcp.html):
- 需要在主机服务器上安装OpenSSL(https://fedingo.com/how-to-install-openssl-in-ubuntu/)。已确定已使用
openssl version -a
在主机服务器上安装OpenSSL - 遵循postgresql文档中的上述步骤并不能产生所需的结果
- 以下步骤来自https://www.cyberciti.biz/faq/postgresql-remote-access-or-connection/也不起作用
- 需要在主机服务器上安装OpenSSL(https://fedingo.com/how-to-install-openssl-in-ubuntu/)。已确定已使用
Appsmith上所有情况下的错误:Failed to initialize pool: The connection attempt failed
接下来的步骤
- 咨询Stackoverflow社区,看看是否有其他人也有类似的问题
- 也发现了类似的问题,但
Appsmith
文档和Stackoverflow社区没有满足此问题所需的信息。我将把整个案例发布到社区
我使用ngrok在本地主机上创建tcp隧道解决了这个问题。
Donwload和针叶树ngrok并在终端上创建一个新的隧道,只需在终端上运行ngrok tcp 5432
之后,获取主机/端口并插入AppsmithPostgreSQL连接。
请确保您的用户名/密码正确无误。
来自主机/端口的图像在ngrok 上创建
如何在Appsmith 上配置此主机/端口的图像