如何在谷歌云服务上查找IPv4地址



我有一个Go服务,部署在Heroku上,它成功地从请求标头中提取IPv4地址。

ip := net.ParseIP(strings.Split(r.Header.Get("X-Forwarded-For"), ",")[0]).String()

我已经在谷歌云上部署了相同的代码作为服务,并且在大约25%的时间里,IP地址通常是IPv6。在检查完整的请求标头后,任何地方都没有可用的IPv4地址,只有IPv6。

Heroku的请求头X-Forwarded-ForALWAYS包含IPv4地址,但谷歌云没有。有人知道在谷歌云中强制使用IPv4格式的请求头吗?

客户端可以通过IPv4或IPv6进行连接,但不能同时通过两者进行连接。客户端将只使用一个地址系列,代理将只记录一个IP地址。

附加信息:

  1. Heroku不支持IPv6,因此客户端被迫使用IPv4进行连接。参考

  2. 如果您只想要IPv4连接,请不要启用IPv6前端。但是,我建议尽可能使用IPv6。

最新更新