将GoDaddy网站加入RDS安全组遇MySQL连接失败求助
解决GoDaddy网站连接MySQL RDS的IP限制问题
这个问题我在帮用户排查时遇到过很多次,核心原因是GoDaddy共享主机的出站IP和cPanel面板显示的网站IP不一致——cPanel里的IP通常是网站的内网/共享访问IP,但你的PHP脚本向外连接RDS时,用的是GoDaddy的NAT出站IP,这才是RDS安全组需要放行的地址。
下面是具体的解决步骤:
第一步:获取网站实际的出站IP
写一个简单的PHP脚本(比如命名为check-ip.php),内容如下:<?php echo "我的网站出站IP是:" . file_get_contents('https://api.ipify.org'); ?>把这个文件上传到你的GoDaddy网站根目录,然后在浏览器访问它,得到的IP就是你的PHP脚本连接外部数据库时实际使用的IP地址。
第二步:更新RDS安全组规则
登录AWS控制台,找到你的RDS实例对应的安全组,在入站规则里添加一条新规则:- 类型:MySQL/Aurora(端口3306)
- 来源:填写刚才获取到的出站IP,后缀加上
/32(比如123.45.67.89/32) - 描述:可以标注为GoDaddy网站出站IP
第三步:测试表单连接
保存安全组规则后,等待1-2分钟让规则生效,然后再测试你的PHP表单,应该就能正常连接RDS数据库了。额外注意事项
如果测试后还是连接失败,可能GoDaddy的共享主机有多个出站IP池,你可以查询GoDaddy官方提供的共享主机出站IP范围,把整个范围添加到RDS安全组的入站规则里(不过尽量优先用单个精准IP,更安全)。
内容的提问来源于stack exchange,提问作者Dakota Lynch
相关产品推荐
相关产品推荐

