网络日志管理合规的关键性

网络日志是一个平时不怎么被重视的东西,今天写到关于网络日志的内容,是在部署网站的时候,看到访问日志里记录的ip地址不对,解决如何获取客户端真实ip地址的问题的同时,想到了关于网络日志合规性的内容,一并记录。

第一个问题:前端使用Nginx反向代理,后端Aapche如何获取真实ip 在简易的Nginx反向代理架构中,客户端访问网址,直接访问到的是前端代理服务器,代理服务器获取请求后,再将代理转发给后端的服务器,如此,代理服务器拿到了客户端的ip地址,而后端服务器拿到的是代理服务器的ip地址,导致了后端服务器记录的日志内容不准确。

nginx和apache都是可配置的,通过修改nginx和apache的配置,可以实现将客户端的真实ip地址传递至后端apache服务器。 直接贴出两个配置文件如下:


  1. #nginx 站点配置文件 
  2. server { 
  3.     listen       80; 
  4.     server_name  luoanman.com www.luoanman.com; 
  5.     rewrite ^(.*)$ https://$host$1  permanent; 
  6. server { 
  7.     listen       443 ssl; 
  8.     server_name  luoanman.com www.luoanman.com; 
  9.     ssl_certificate   /var/www/www-luoanman-com/luoanman/www.luoanman.com.pem; 
  10.     ssl_certificate_key  /var/www/www-luoanman-com/cert/www.luoanman.com.key; 
  11.     ssl_session_timeout 5m; 
  12.     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH 
  13.     ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
  14.     ssl_prefer_server_ciphers on; 
  15.     location / { 
  16.         proxy_set_header Host $http_host; 
  17.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
  18.         proxy_set_header X-Real-Ip $remote_addr; 
  19.         proxy_set_header X-NginX-Proxy true; 
  20.         proxy_set_header X-Forwarded-Proto $scheme; 
  21.         proxy_pass http://localhost:8080; 
  22.         proxy_redirect off; 
  23.     } 

apahce启用remoteip模块,修改两处配置。


  1. #启用remoteip_module 
  2. LoadModule remoteip_module modules/mod_remoteip.so 

  1. #修改httpd.conf 
  2. <IfModule remoteip_module> 
  3.         RemoteIPHeader X-Forwarded-For 
  4.         RemoteIPInternalProxy 127.0.0.1 
  5.  
  6. </Ifmodule> 

  1. #修改httpd.conf 
  2. LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 
  3.     LogFormat "%a %l %u %t \"%r\" %>s %b" common 
  4. <IfModule logio_module> 
  5.     # You need to enable mod_logio.c to use %I and %O 
  6.     LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio 
  7. </IfModule> 

修改配置后,重新启动nginx和apahce,在apahce服务器的访问日志里就可以看到客户端的真实IP地址了。

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章