Laravel Forge - 无法连接到外部数据库服务器(连接超时)

时间:2021-02-26 23:47:50

标签: mysql laravel laravel-forge

要快速而直接,因为我确定我只是忽略了一些简单的东西。

我有 3 个应用服务器负载平衡,因此有一个单独的数据库服务器。我正确设置了我的 env 以指向数据库服务器的 IP 而不是 127.0.01,并为我创建的用户输入正确的密码和用户名。但是,当我尝试部署服务器时,它失败并出现连接超时的 2002 错误。我已经尝试查看所有其他有类似问题的线程,但似乎没有一个真正遇到相同的问题。

env 示例(显然除了用户名和密码)

DB_CONNECTION=mysql
DB_HOST=3.19.111.11 -- External Database IP
DB_PORT=3306
DB_DATABASE=xxx -- Correct database name (as seen in Forge dashboard on DB server)
DB_USERNAME=xxx -- Correct username (just set up this user)
DB_PASSWORD="xyz123" -- Correct password for aforesaid user

我可以通过 TablePlus 连接到数据库服务器,所以问题被本地化为我在应用服务器上做的事情,但我看不出有什么问题。

作为附加信息,我已经设置了各个服务器的网络以允许它们连接到数据库服务器,反之亦然,尽管我不确定这是否必要。

为 APP_URL 添加 envvar 并将其设置为 DB 的 IP 并将 DB_HOST 更改为 127.0.0.1 会将错误更改为连接拒绝错误,无论这是否更好。

1 个答案:

答案 0 :(得分:0)

事实证明,尽管在 Forge 的控制面板上打开了网络,但实际上并不允许他们互相访问。进入 EC2 仪表板并创建一个向每个应用服务器的私有 IP 开放端口 3306 的安全组解决了该问题。

相关问题