全部产品

ECS通过内网连接RDS时报“ip not in whitelist”错误

更新时间:2020-09-01 10:47:14

问题描述

连接RDS实例时,提示以下其中一种错误信息:

  • ERROR 1045 (HY000): #28000ip not in whitelist
  • ERROR 2801 (HY000): #RDS00ip not in whitelist, client ip is XXX

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

参考以下方法解决问题:

  • 白名单中只有默认地址127.0.0.1。该地址表示不允许任何设备访问RDS实例。需在白名单中添加设备的IP地址,具体操作请参见设置白名单
  • 白名单设置成了0.0.0.0。正确格式应该为0.0.0.0/0
    说明:该地址允许任何设备访问RDS实例,请谨慎使用。
  • 如果开启了高安全白名单模式,需进行以下检查:
    • 如果使用的是专有网络的内网连接地址,请确保ECS内网IP地址添加到了专有网络的分组。
    • 如果使用的是经典网络的内网连接地址,请确保ECS内网IP地址添加到了经典网络的分组。
    • 如果通过公网连接,请确保设备公网IP地址添加到了经典网络的分组,专有网络的分组不适用于公网。
  • 您在白名单中添加的设备公网IP地址可能并非设备真正的出口IP地址。原因如下:
  • 如果您将ECS服务器或本地服务器的IP地址填入数据库白名单后,从这些服务器上连接数据库时,仍然提示“ip not in whitelist”错误,则有可能是因为ECS服务器或自建服务器在连接到数据库时经过代理服务器,最终到达数据库的IP地址是代理机的IP地址。此时应该将白名单设置为ECS服务器的出口IP地址,或设置为自建服务器的出口代理服务器IP地址。

适用于

  • 云数据库RDS MySQL版
  • 云数据库RDS SQL Server版
  • 云数据库RDS PostgreSQL版
  • 云数据库RDS RDS for PPAS版