关于阿里云SLB remote addr显示为公网IP分析

nginx日志设置如下

log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" '                  '"$http_user_agent" "$request_body" "$http_x_forwarded_for" - "$http_soapaction" "$request_time"';

$remote_addr记录的是阿里云SLB内网转发地址,$http_x_forwarded_for获取到的是访客的真实IP地址。

如果在SLB中,https走的是TCP模式,如下配置:

wKiom1UfnzbSTVuqAADgvYOB6VY422.jpghttps使用的是tcp模式,这种模式下,后端的服务器是直接获取到客户的IP地址的,所以remote addr显示为公网IP。

对于健康检查的日志,可以单独建立一个站点,并将access_log设置为off,就可以屏蔽这些日志了。

本文出自 “黄怡善的运维博客” 博客,谢绝转载!

你可能感兴趣的:(nginx,remote_addr,SLB)