💡 原文英文,约600词,阅读约需2分钟。
📝

内容提要

我们的Microsoft IIS服务器仅支持IPv4,IP地址记录为VARCHAR(15)。尽管云服务商支持IPv6,但我们通过WAF获取IPv6地址。由于SQL BIGINT限制,我们决定使用BINARY(16)存储IPv4和IPv6地址,并使用Java库IPAddress进行一致的日志格式化。

🎯

关键要点

  • 我们的Microsoft IIS服务器仅支持IPv4,IP地址记录为VARCHAR(15)。
  • 自2012年起,IPv6未在我们的网络上启用,因此未受到影响。
  • 通过云服务商获取的日志中包含IPv6地址,IPv6流量通过云WAF提供商代理。
  • IPv4地址来自CGI.REMOTE_ADDR,不应用于阻止或记录。
  • 需要从HTTP头中显式获取IPv6地址,并在数据库中存储为VARCHAR(45)。
  • 由于SQL BIGINT限制,决定使用BINARY(16)存储IPv4和IPv6地址。
  • 使用Java库IPAddress进行IP地址和子网的处理,提供一致的日志格式化。
  • IPAddress库被许多公司使用,提供多种IP相关功能。
➡️

继续阅读