AWS EC2 实例无法从浏览器连接,但通过 SSH 访问 MySQL 有效 - Rails Production Server 中的 mysql2::Error::ConnectionError

AWS EC2 Instance Unable to Connect from Browser but MySQL Access via SSH Works - Mysql2::Error::ConnectionError in Rails Production Server

提问人:Rq Bhatti 提问时间:10/17/2023 最后编辑:Rq Bhatti 更新时间:10/20/2023 访问量:39

问:

我目前正面临 AWS EC2 实例的问题,我需要一些指导来解决这个问题。

我是新手,正在尝试将 Ubuntu 版本从 18.04 LTS 升级到 20.04。版本升级后无法通过浏览器连接mysql。

我有一个具有公有 IP 地址的 EC2 实例,例如 18.205.116.208。当我尝试通过 https://18.205.116.208 等 Web 浏览器访问我的实例时,它无法连接。但是,我可以使用以下命令通过 SSH 成功连接到 EC2 实例上的 MySQL 数据库:mysql -u root -p --host=18.205.116.208 --port=3306

我的 Rails 生产服务器在同一个 EC2 实例上运行,当我使用以下命令检查生产日志时: 我看到以下错误消息:tail -f log/production.logMysql2::Error::ConnectionError (Can't connect to MySQL server on '127.0.0.1' (111))

似乎 Rails 应用程序正在尝试连接到本地主机 (127.0.0.1) 上的 MySQL 并失败。

我想知道如何解决此问题,以及为什么无法通过 Web 浏览器访问 EC2 实例。任何帮助或建议都是值得赞赏的。

以下是 aws ec2 实例安全组的详细信息如果需要任何其他信息,请告诉我。

MySQL 的ruby-on-rails 亚马逊EC2 Ubuntu-20.04 mysql错误-1111

评论

0赞 Rob Eyre 10/25/2023
Rails 在尝试连接到 MySQL 时使用的连接参数是什么?这些是否与您在命令行上测试的相同?
0赞 Rob Eyre 10/25/2023
这可能与您的问题有关:stackoverflow.com/questions/62490679/......
0赞 Rq Bhatti 10/25/2023
这些是 rails 数据库连接的参数,这些参数在生产服务器上的 file config/database.yml production 中是相同的: host: 127.0.0.1 adapter: mysql2 encoding: utf8 reconnect: false database: production_db username: xyz password: abc..游泳池: 50
0赞 Rq Bhatti 10/25/2023
有趣的是,我可以通过命令行上的此命令(RAILS_ENV=production bundle exec rails console)连接数据库。

答: 暂无答案