怎样获取CDN上用户真实IP地址

使用nginx -V 查看一下nginx 参数中有没有--with-http_realip_module

[root@aliyun cnyunwei]# nginx -V
nginx version: nginx/1.10.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 
 
built with OpenSSL 1.0.2h 3 May 2016
 
TLS SNI support enabled
 
configure arguments: --prefix=XXXXXX --with-http_realip_module XXXXXX

   

默认是不安装该模块的,所以如果检测出来没有这个模块就需要重新编译了,重新编译也非常方便,即使是线上不能停机当然也可以编译,平滑升级即可。

进入nginx 源码安装包目录下
configure 的参数就和原来保持一样,只是增加一个--with-http_realip_module 
例如:--prefix=/usr/local/nginx --with-http_stub_status_module --with-http_realip_module
make && make install 
至于平滑升级,可直接执行 killall -s USR2 nginx

   

接下来是编辑对应的配置文件设置

location 中加入以下信息:
set_real_ip_from 222.222.222.222; #这里是需要填写具体的CDN服务器IP地址
real_ip_header X-Forwarded-For;
real_ip_recursive on;

   

写一个测试页面来检测读取的访问IP地址是否已经获取到了用户IP地址 vim ip.php

< ?php 
echo "Welcome cnyunwei.cc !"; 
echo '
server_addr : '; 
echo $_SERVER['SERVER_ADDR']; 
echo 'remote_addr : '; 
echo $_SERVER['REMOTE_ADDR']; 
echo 'host : '; 
echo $_SERVER['HTTP_HOST']; 
?>

   

下面即可直接访问测试,remote_addr 是否为你当前的公网IP地址,然后修改本地电脑hosts 重定向到CDN服务器再测试验证IP地址是否正确读取,如果正确的情况访问日志中也会正确显示对应的来访IP地址而不是CDN服务器的地址。

(0)

相关推荐

  • 告诉你jsp获取浏览者真实IP地址方法

    我们知道在JSP里,获取网页客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客 ...

  • 电脑上怎么更改IP地址

    有的小伙伴在使用电脑过程中,想要更改自己电脑上的IP地址,但是却不知道如何更改,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,点击桌面左下角的开始图标,接着点击齿轮样的设置图标.2. 第二步, ...

  • 如何快速获取局域网中电脑的IP地址

    局域网中有很多电脑,为了规范局域网中的所有电脑IP地址,需要查看各台电脑的IP地址.而在"网上邻居"中,只能查看到电脑的名称,如何快速获取局域网中电脑的IP地址呢? 获取局域网中很 ...

  • 电脑上怎么查询IP地址

    有的小伙伴在使用电脑过程中,想要查询IP地址,但是却不知道如何查询,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,右击桌面右下角的网络连接图标.2. 第二步,来到下图所示的弹出窗口胡,点击红框 ...

  • 锐捷用户动态ip地址类型绑定错误怎么办

    锐捷在认证的时候提示 用户动态ip地址类型绑定错误,这是因为你之前设置过静态IP地址上网. 操作方法 01 打开网络共享中心 02 找到更改适配器设置 03 找到本地连接 04 右键单击选择属性设置 ...

  • 高手教你怎样把自己的真实IP地址隐藏起来

    操作方法 01 装机教程下载专栏为您提供xp系统安装教程,win7系统优化教程,ghost系统之家(www.520ghost.com)装机教程是您学习装机教程的最好选择. 我们在上网冲浪的时候IP外泄 ...

  • 教你怎么在linux上永久修改IP地址

    对于一个刚刚接触linux的新手来说,不知道怎么修改ip地址. 下面小编就教你怎么在linux上修改ip地址. 操作方法 01 首先,我们来看看ip地址. ifconfig 小编这里的是eth0,可以 ...

  • java如何实现获取客户端ip地址?

    java实现获取客户端ip第一步:我们先来定义一个工具类,专门用于封装ip相关的方法类.package com.example.review.util; import org.apache.commo ...

  • 使用slb后nginx.apache获取真实ip

    前提是在slb设置中开启了“获取真实ip”的功能。 如果只是需要在程序中获取真实ip 那么只要在程序中获取 HTTP_X_FORWARDED_FOR 的值基本就可以了,不需要下面的操作。 下面的操作可 ...

  • ip地址与网络上的其他系统有冲突怎么办

    本文介绍了电脑上显示ip地址与网络上的其他系统有冲突的解决办法,出现ip地址与网络上的其他系统有冲突这种情况,一般是在使用路由器来上网时经常遇到的问题. ip地址与网络上的其他系统有冲突 ip地址与网 ...