You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Maps API按IP地址设置密钥限制失效问题求助

解决Google Maps API密钥IP限制的常见问题

我来帮你梳理下遇到的Google Maps API密钥限制问题,这里有几个容易踩的坑和对应的解决办法:

1. 先明确IP限制的适用场景

Google Maps API的IP地址限制仅针对服务器端发起的请求(比如Geocoding、Directions这类后端调用的服务)。如果是在前端浏览器中加载Maps JavaScript API,IP限制完全不生效——因为前端请求的来源是用户的浏览器IP,而非你的服务器IP,这时候必须使用HTTP Referrer限制。这就是为什么你在共享服务器上用IP限制密钥会触发RefererNotAllowedMapError:前端加载的API只认Referrer规则,不认IP限制。

2. 解决localhost vs 127.0.0.1的访问差异

当你本地测试前端Maps JS API时,Google默认放行localhost/*作为特殊Referrer值,但127.0.0.1不在这个默认列表里。如果要让127.0.0.1也能访问,你需要在HTTP Referrer限制的密钥中添加规则,而不是用IP限制的密钥:

  • 添加http://127.0.0.1/*
  • 如果本地用了HTTPS,再添加https://127.0.0.1/*

3. 正确的密钥分工方案

建议你按照API的使用场景拆分密钥,避免混淆:

  • 保留原HTTP Referrer限制密钥:专门用于前端加载Maps JavaScript API,配置好你的域名规则:
    • http://perfectpets.com.au/*
    • https://perfectpets.com.au/*
    • 如果有www子域名,还要加上http://www.perfectpets.com.au/*和https://www.perfectpets.com.au/*
  • IP限制密钥仅用于后端服务:如果你需要在服务器端调用Google Maps的后端API(比如地址解析、路线规划),把共享服务器的公网出站IP添加到该密钥的IP允许列表中。注意:共享服务器的IP可能是一个范围,你需要联系主机提供商确认服务器的出站IP地址(不是网站的访问IP,而是服务器对外发起请求时用的IP)。

4. 验证配置的小技巧

  • 验证IP限制密钥:在你的服务器上用curl测试后端API,比如:
    curl -H "Authorization: Bearer YOUR_IP_RESTRICTED_KEY" "https://maps.googleapis.com/maps/api/geocode/json?address=Sydney"
    
    如果能正常返回地理编码结果,说明IP配置正确。
  • 验证Referrer限制密钥:打开浏览器开发者工具的Network面板,查看Maps API的请求。如果返回403错误,检查请求头中的Referer值是否和你配置的规则完全匹配(比如是否遗漏了协议、www前缀等)。

内容的提问来源于stack exchange,提问作者John McInnes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:33:37