代理之后的远程真实IP
正常我们采用Nginx代理之后 ,API层获取的httpContext.GetRemoteIpAddressToIPv4()的逻辑返回的应该是代理Nginx的IP了.而这和我们最初设置相悖的,显然有时候这个需求是必然的.
帮记录一下相关这种的配制
配置localtion
location /api {
limit_req zone=allipse burst=24000 nodelay;
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Headers' 'x-requested-with,content-type';
proxy_pass http://api;
proxy_set_header Host $host;
proxy_set_header Remote_Addr $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
配置log
log_format main 'RealIp: $proxy_add_x_forwarded_for - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$geoip2_data_country_code" "$geoip2_data_country_name" "$geoip2_data_city_name" "$upstream_addr" "$request_time" "$upstream_response_time"';

浙公网安备 33010602011771号