2.apache模块mod_rpaf ,让nginx代理后端的apache获取访客真是IP

安装mod_rpaf这个模块
     #wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz(下载不了就在百度上找相应的软件包下载)
     #tar xvfz mod_rpaf-0.6.tar.gz
     #cd mod_rpaf-0.6
检查有没有httpd-devel这个工具包(如果没有就安装一下,有就直接执行下一步)
     #apxs -i -n -c mod_rpaf.c mod_rpaf-2.0.c
执行完毕后会提示将/usr/lib64/httpd/mod_rpaf-2.0.so模块给出755的权限
做完工作后看/etc/httpd/modules下有没有多出mod_rpaf-2.0.so这个模块
    现在就需要重新加载模块
     修改apache的配置文件
     编辑/etc/httpd/conf/httpd.conf配置文件
     LoadModule rpaf_module        modules/mod_rpaf-2.0.so 将这个模块添加进去
     <IfModule mod_rpaf.c>
     RPAFenable On
     RPAFsethostname On
     RPAFproxy_ips 127.0.0.1  (这里跟代理服务器的内网IP)
     RPAFheader X-Forwarded-For
     </IfModule>
保存配置文件,重启apache

修改nginx的配置文件
编辑/etc/nginx/nginx.conf
加入以下文本
     proxy_set_header        Host $host;
     proxy_set_header        X-Real-IP $remote_addr;
     proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
让apache日志记录正确的访客IP
  编辑httpd.cnnf
在LogFormat中加入 %{X-Forwarded-For}i  例如:
  将LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 改成以下  
LogFormat "%{X-Real-IP}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    
    apache日志切割 找到下面(1)进行修改或添加以下信息
(1)#CustomLog logs/access_log combined
#CustomLog "|/usr/sbin/rotatelogs/var/log/httpd/access_log.%Y%m%d 7200 480" combined(apapche默认)
CustomLog "|/usr/sbin/cronolog /var/log/httpd/access_log.%Y%m%d" combined


php程序获取正确访客IP方法
 <?php
 if ($_SERVER["HTTP_X_FORWARDED_FOR"]=="") {
     $user_ip=$_SERVER["REMOTE_ADDR"];
 } else {
     $user_ip=$_SERVER["HTTP_X_FORWARDED_FOR"];
 }
 ?>

转载于:https://www.cnblogs.com/bbs123-logs/p/7087568.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux切换用户

显示目前用户的名称 logname切换用户 su 用户名当在权限不够的时候可以使用下面的命令执行&#xff0c;执行完会再自动切换到执行前的用户 su -c 要执行的命令 要切换的用户名 su -c ls root提高普通用户的操作权限,权限提升到了root sudo <参数> sudo ls sudo其它参…

oracle 之 基础操作

//删除存在的表空间及数据 drop tablespace TS_YYGL including contents and datafiles若是出现了提示 错误 导致无法全部删除&#xff0c;那么就执行以下语句可以得到那些表有主键相关&#xff0c;再执行就可以 select alter table ||owner||.||table_name|| drop constraint …

object类型转换为Array类型

var obj {a: 1, b: 2, c: 3}; // .... var arr []; for(var key in obj){ if(!obj.hasOwnProperty(key)){continue;}var item {}; item[key] obj[key]; arr.push(item); } console.log(arr); // [{a: 1}, {b: 2}, {c: 3}] // 将Object的属性输出成Array function objOf…

关机重启与who

关机&#xff1a; shutdown命令可以用来进行关闭系统&#xff0c;并且在关机以前传送讯息给所有使用者正在执行的程序&#xff0c;shutdown 也可以用来重开机使用者权限&#xff1a;管理员用户 关机语法 shutdown [-t seconds] [-rkhncfF] time [message]参数说明&#xff1a;…

webpack之font-awesome

1、安装font-awesome和font-awesome-loader及依赖 git&#xff1a;https://github.com/shakacode/font-awesome-loader npm install font-awesome-loader less less-loader css-loader style-loader file-loader font-awesome -save 2、配置webpack 官方给出的webpack2.0配置如…

目录命令及权限

目录命令及权限&#xff1a; 命令说明ls列出目录cd切换目录pwd显示目前的目录mkdir创建新目录rmdir删除一个空的目录cp复制文件或目录rm移除文件或目录mv移动文件与目录或修改文件与目录的名称 ls列出目录&#xff1a; ls # 显示不隐藏的文件和文件夹 ls -l # 显示不隐藏的…

【树莓派】【网摘】树莓派与XBMC及Kodi、LibreELEC插件(三)

之前的相关文章参考&#xff1a; 【树莓派】树莓派与XBMC及Kodi、LibreELEC插件&#xff08;一&#xff09; 【树莓派】树莓派与XBMC及Kodi、LibreELEC插件&#xff08;二&#xff09; 【树莓派】树莓派与XBMC及Kodi、LibreELEC插件&#xff08;三&#xff09; ---------------…

前端通信:ajax设计方案(五)--- 集成promise规范,更优雅的书写代码(改迭代已作废,移步迭代10)...

该迭代已作废&#xff0c;最新的请移步这里&#xff1a;https://www.cnblogs.com/GerryOfZhong/p/10726306.html 距离上一篇博客书写&#xff0c;又过去了大概几个月了&#xff0c;这段时间暂时离开了这个行业&#xff0c;让大脑休息一下。一个人旅行&#xff0c;一个人休息&am…

awk怎么用

AWK是一种处理文本文件的语言&#xff0c;是一个强大的文本分析工具。 之所以叫AWK是因为其取了三位创始人 Alfred Aho&#xff0c;Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。 语法如下 awk [选项参数] script varvalue file(s) 或 awk [选项参数] -f…

转盘抽奖

<!DOCTYPE html><html>  <head>   <meta charset"UTF-8">     <title></title>   <style>     .dialWrap { position:absolute; left:50%; top:24px; width:460px; height:460px; margin-left:-246px; } …

Linux软连接

软链接就理解为Windows的快捷方式&#xff0c;因为某些文件和目录的路径很深, 所以需要增加软链接(快捷方式)使用者权限&#xff1a;所有用户 语法&#xff1a; ln -s 目标文件绝对路径 快捷方式路径# 把b.txt的软连接生成到桌面 ln -s aaa/bb/c/b.txt b.txt

设计模式之 - 代理模式(Proxy Pattern)

代理模式&#xff1a;代理是一种常用的设计模式&#xff0c;其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息&#xff0c;过滤消息并转发消息&#xff0c;以及进行消息被委托类执行后的后续处理。很多可以框架中都有用到&#xff0c;比…

Linux压缩命令

gizp&#xff1a; gizp用来压缩/解压缩文件&#xff0c;不能压缩目录&#xff0c;gzip是个使用广泛的压缩程序&#xff0c;文件经它压缩过后&#xff0c;其名称后面会多出".gz"的扩展名windows下接触的压缩文件大多是.rar&#xff0c;.7z格式&#xff0c;Linux下&…

1-3、nav元素

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>nav</title> </head> <body><h1>技术资料</h1><nav><ul><li><a href"#">主页</a></li>&…

scala 基础十一 scala 中的trait特质

1.Scala类型系统的基础部分是与Java非常相像的。Scala与Java一样有单一的根类&#xff0c;Java通过接口来实现多重继承&#xff0c;而Scala则通过特征(trait)来实现&#xff08;Scala的特征可以包含实现代码&#xff0c;这当然是与Java接口不同的。不过由于特征自己具有类型的功…

yum命令怎么使用

概念&#xff1a; yum&#xff08; Yellow dog Updater, Modified&#xff09;是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。yum就像手机里的应用商店一样&#xff0c;提供了查找、安装、删除某一个、一组甚至全部软件包的命令&#xff0c;而且命令简洁而又好记。…

Bluetooth Obex

OPP 1.2 which uses OBEX over L2CAP.OPP 1.1 connection and transfer happens over RFCOMM->L2CAP.转载于:https://www.cnblogs.com/feliz/p/7122327.html

JavaEE规范与系统结构

JavaEE规范&#xff1a; JavaEE规范是J2EE规范的新名称&#xff0c;早期被称为J2EE规范&#xff0c;其全称是Java 2 Platform Enterprise Edition&#xff0c;它是由SUN公司领导、各厂家共同制定并得到广泛认可的工业标准&#xff08;JCP组织成员&#xff09;。之所以改名为Jav…

HTTP协议和NDS服务器

HTTP协议&#xff1a; HTTP的全称是&#xff1a;Hyper Text Transfer Protocol&#xff0c;意为超文本传输协议。它指的是服务器和客户端之间交互必须遵循的一问一答的规则。形容这个规则&#xff1a;问答机制、握手机制。它规范了请求和响应内容的类型和格式。HTTP协议是由W3C…

net 中web.config一个配置文件解决方法 (其他配置文件引入方式)

近期一个项目需要写许多的配置项&#xff0c;发现在单个web.config里面写的话会很乱也难于查找 所以搜了一下解决了&#xff0c;记录下来 一、 webconfig提供了引入其他config的方式 <connectionStrings configSource"Configs\database.config" /> 这个是连接…