繁体   English   中英

如何在 Google Cloud 服务上找到 IPv4 地址?

[英]How do I find the IPv4 address on a Google Cloud service?

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

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

我已将相同的代码作为服务部署到 Google Cloud,IP 地址通常在大约 25% 的时间内是 IPv6。 在检查完整的请求 Header 后,没有任何可用的 IPv4 地址,只有 IPv6。

Heroku 的请求 Header X-Forwarded-For 始终包含 IPv4 地址,但 Google Cloud 不包含。 有谁知道在谷歌云中为请求标头强制使用 IPv4 格式的方法?

客户端可以通过 IPv4 或 IPv6 连接,但不能同时连接。 客户端只会使用一个地址族,代理只会记录一个 IP 地址。

附加信息:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM