Fly.io部署Go应用连接Hostinger MySQL遇127.0.0.1:3306连接拒绝问题咨询
问题分析与解决思路
这个错误的核心原因是你的Fly.io部署应用正在尝试连接本地(127.0.0.1)的MySQL服务,而非Hostinger的远程数据库。这大概率是配置问题导致的,防火墙可能是后续排查环节,但先优先解决配置问题。
核心排查方向
- 检查Fly.io环境的数据库连接配置:
本地开发时你用了正确的Hostinger远程数据库地址,但部署到Fly.io后,要么是环境变量没正确设置,要么是代码里硬编码了127.0.0.1:3306,导致应用在Fly.io服务器上试图访问本地不存在的MySQL实例。 - 确认Hostinger MySQL的远程访问权限:
本地能连接不代表远程服务器(Fly.io)也能连。Hostinger默认可能只允许特定IP访问MySQL,你需要登录Hostinger后台,检查MySQL的IP白名单设置,把Fly.io服务器的公网IP添加进去(测试阶段可临时设为0.0.0.0/0,但生产环境务必限制具体IP)。 - Fly.io网络策略验证:
Fly.io默认允许出站公网连接,但如果你的应用部署在私有网络中,可能需要配置出站规则确保能访问3306端口。这一步要在确认配置正确后再排查。
验证步骤
- 登录Fly.io控制台,查看应用的环境变量,确认数据库主机地址是Hostinger提供的远程地址,而非
127.0.0.1。 - 通过
fly ssh console进入应用容器,手动测试连接:执行mysql -h [Hostinger数据库地址] -u [用户名] -p,如果连接失败,说明Hostinger的防火墙/IP白名单限制了访问;如果能成功连接,问题则出在代码或应用配置上。
内容的提问来源于stack exchange,提问作者Guilherme Rodrigues
相关产品推荐
相关产品推荐

