jinhaozcp
jinhaozcp
> 当前的代码是从HTTP_X_FORWARDED_FOR获取的ip,如果没有获取到真实的ip,可以检查下nginx是否配置了real_ip_header > > https://github.com/hhyo/Archery/blob/872c551fa376639e6401dfc2ec52155b517b6a7a/sql/audit_log.py#L75-L81  找到问题了,我们是将archery部署再K8S内的,通过ingress转发,由于configmap中use-forwarded-headers 设置为false,所有请求进来x_forward_for的值被丢弃,正好按照代码如果没有x_forward_for,则取remote_addr,而remote_addr的值为阿里云slb转发地址。谢谢!
还是建议将源IP地址作为单独一列存放,而不是以额外的信息存储,毕竟任何操作记录都需要记录源IP,如果非登录的审计日志,额外的信息可能会被覆盖为sql,则涉及审计信息的元素就不完整了。