间歇性401未经Google GCM授权

我们从Google的GCM服务中收到了401次未授权的错误。 在过去,它的工作时间是100%。 这个问题可能与我们的路由器接受IPv6stream量一致,但即使我们禁用适配器上的IPv6,问题仍然存在。 它也不能在单独的IPv4networking上工作。 我们还使用Google推荐的指数退款( http://developer.android.com/google/gcm/adv.html#retry )重试我们的请求,所以问题可能会随着时间的推移而发展,我们可能没有注意到。

我们所testing的所有生产IPv4和IPv6地址列在我们的项目中: https : //console.developers.google.com

这里是我们的关键看起来像,我们有我们的整个公开访问的子网列出进行testing,但我已经尝试只有单一的IP地址以及。

在这里输入图像说明

有时候它是有效的

C:\Users\Administrator>curl --header "Authorization: key=REDACTED" --header Content-Type:"application/json" https://android.googl eapis.com/gcm/send -d "{\"registration_ids\":[\"test\"],\"data\":{\"code\":123} }" -k {"multicast_id":REDACTED,"success":0,"failure":1,"canonical_ids":0,"r esults":[{"error":"InvalidRegistration"}]} 

但是,有时我们会得到这样的回应:

 C:\Users\Administrator>curl --header "Authorization: key=REDACTED" --header Content-Type:"application/json" https://android.googl eapis.com/gcm/send -d "{\"registration_ids\":[\"test\"],\"data\":{\"code\":123} }" -k <HTML> <HEAD> <TITLE>Unauthorized</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <H1>Unauthorized</H1> <H2>Error 401</H2> </BODY> </HTML> 

次要更新(4/10/2014)

将设置更改为“允许的任何IP”可修复此问题,但更改为任何其他IP地址或地址会再次破坏它。

Solutions Collecting From Web of "间歇性401未经Google GCM授权"