网站服务器的真实ip地址,网站服务器如何获取访问者真实IP地址?

Nginx配置方案

1. 确认已安装http_realip_module模块

为实现负载均衡,Nginx使用http_realip_module模块来获取真实IP。

您可以通过执行# nginx -V | grep http_realip_module命令查看是否已安装该模块。如未安装,则需要重新编译Nginx服务并加装该模块。

说明 一般情况下,如果通过一键安装包安装Nginx服务器,默认不安装该模块。

参考以下方法,安装 http_realip_module模块:

wget http://nginx.org/download/nginx-1.12.2.tar.gztar zxvf nginx-1.12.2.tar.gzcd nginx-1.12.2./configure --user=www --group=www --prefix=/alidata/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_realip_modulemake

make install

kill -USR2 `cat /alidata/server/nginx/logs/nginx.pid`

kill -QUIT `cat /alidata/server/nginx/logs/ nginx.pid.oldbin`

2. 修改Nginx对应server的配置

打开default.conf配置文件,在location / {}中添加以下内容:

说明

其中,ip_range1,2,...,x指WAF的回源IP地址,需要分多条分别添加。

set_real_ip_from ip_range1;set_real_ip_from ip_range2;...

set_real_ip_from ip_rangex;real_ip_header    X-Forwarded-For;

3. 修改日志记录格式 log_format

log_format一般在nginx.conf配置文件中的http配置部分。在 log_format中,添加 x-forwarded-for字段,替换原来remote-address字段,即将 log_format修改为以下内容:

log_format  main  '$http_x_forwarded_for - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" ';

完成以上操作后,执行nginx -s reload命令重启Nginx服务。配置生效后,Nignx服务器即可通过X-Forwarded-For的方式记录访问者真实IP。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值