限制 IP 地址 Google API 和来自 GKE(Google Kubernetes Engine)的访问请求被拒绝

限制 IP 地址 Google API 和来自 GKE(Google Kubernetes Engine)的访问请求被拒绝

我创建了 API 密钥来启用地理编码 API地图 JavaScript API地点 API使用 Cloud NAT IP 限制 IP。我的 API 密钥从 GCP(Google Kubernetes Engine/GKE)上的 Kubernetes 访问,当 im 测试 curl 响应请求时,请求被拒绝,因为响应来自 IPV6 地址。

curl --location --request GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Wonogiri&types=&key=MY-API-KEY'
{
   "error_message" : "This IP, site or mobile application is not authorized to use this API key. Request received from IP address IPV6_ADDRESS, with empty referer",
   "predictions" : [],
   "status" : "REQUEST_DENIED"
}

但是我 curl 到 ifconfig.me 得到的响应是 IP Cloud NAT (34.87.xxx.xx)。我很困惑。

IP 地址限制 启用 3 google api

答案1

根据 API 的响应,我怀疑您必须设置 http referrer 标头。

curl --referer Referer_URL \ 
   --location \ 
   --request GET \ 
   'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Wonogiri&types=&key=MY-API-KEY'

我会检查限制,因为您可能启用了“网站”限制,因此需要引荐来源。

如果有 IP 限制,请确保将 IP 添加到列表中并保存 api 密钥。它应该可以立即工作。

该 IP 地址应该是集群中节点的外部 IP 地址。

相关内容