欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


Linux系统静态网络配置
LINUX网络嵌入式设备
LINUX开启允许对外访问的网络端口
windows运行不了.bat文件解决
ubuntu常用终端命令
CentOS6.3安装IBM WebSphere
yum安装出错Error: Cannot find a valid baseurl for
Linux 下应用程序最大打开文件数的理解和修改
ubuntu创建桌面快捷方式
通过注册表修改硬件加速
使用slb后nginx、apache获取真实ip
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

   前提是在slb设置中开启了“获取真实ip”的功能。

  如果只是需要在程序中获取真实ip 那么只要在程序中获取 HTTP_X_FORWARDED_FOR 的值基本就可以了,不需要下面的操作。

  下面的操作可以实现nginx或者apache日志中记录用户真实ip或者在apache、nginx中禁止某些ip 用户访问等。

  nginx

  nginx作为slb获取真实ip是使用 http_realip_module,默认一键安装包安装的nginx没有安装这个模块需要重新重新编译nginx并加装。

  以一键安装包为例

  重新编译nginx增加 --with-http_realip_module

  wget http://soft.phpwind.me/top/nginx-1.0.12.tar.gz

  tar zxvf nginx-1.0.12.tar.gz

  cd nginx-1.0.12

  ./configure --user=www --group=www --prefix=/alidata/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_realip_module

  make

  make install

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

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

  修改nginx.conf

  vi /alidata/server/nginx/conf/nginx.conf

  在

  fastcgi_connect_timeout 300;

  fastcgi_send_timeout 300;

  fastcgi_read_timeout 300;

  fastcgi_buffer_size 64k;

  fastcgi_buffers 4 64k;

  fastcgi_busy_buffers_size 128k;

  fastcgi_temp_file_write_size 128k;

  下面增加

  set_real_ip_from ip地址;(这个ip地址首先不是slb提供的公网ip,具体ip多少可以看一下之前nginx日志,如果有多个都要写上。)

  set_real_ip_from ip地址;(这个ip地址首先不是slb提供的公网ip,具体ip多少可以看一下之前nginx日志,如果有多个都要写上。)

  real_ip_header X-Forwarded-For;

  重启nginx

  /alidata/server/nginx/sbin/nginx -s reload

  apache

  安装apache的一个第三方模块"mod_rpaf", 官方网站: http://stderr.net/apache/rpaf/

  wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz

  tar zxvf mod_rpaf-0.6.tar.gz

  cd mod_rpaf-0.6

  /alidata/server/httpd/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

  修改apache配置 /alidata/server/httpd/conf/httpd.conf

  在最末尾添加

  LoadModule rpaf_module modules/mod_rpaf-2.0.so

  RPAFenable On

  RPAFsethostname On

  RPAFproxy_ips ip地址

  RPAFheader X-Forwarded-For

  //RPAFproxy_ips ip地址(这个ip地址首先不是slb提供的公网ip,具体ip多少可以看一下apache日志,通常会有2个 都要写上)

  添加完成后重启apache

  /alidata/server/httpd/bin/apachectl restart

  具体案例

  LoadModule rpaf_module modules/mod_rpaf-2.0.so

  RPAFenable On

  RPAFsethostname On

  RPAFproxy_ips 10.242.230.65 10.242.230.131

  RPAFheader X-Forwarded-For

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站