当前位置: 首页 > news >正文

nginx反向代理后实现nginx和apache两种web服务器能够记录客户端的真实IP地址

一.构建环境

二.配置反向代理

1.基于源码安装的nginx环境下修改nginx.conf(设备1)

2.通过windows powershell进行修改hosts文件并测试

3.设备2和设备3上查看日志,可以看到访问来源都是代理服务器(2.190)而不是真实客户端地址

 三.实现两台web服务器记录真实客户端IP地址

1.Nginx代理服务器配置(设备1)

2.Nginx类的web服务器(设备2)配置

(1)修改nginx.conf文件,在index下方继续添加以下内容

(2)浏览器访问后设备2查看日志

(3)设备3做域名映射后访问设备2查看日志以进一步确认

3.Apache类的web服务器(设备3)配置

(1)修改httpd.conf文件

(2)把原本这里的第一行LogFormat换成这个

(3)浏览器访问设备3进行测试


 

一.构建环境

三台设备,设备1(2.190)部署nginx环境,设备2(2.191)部署nginx,设备3(2.193)apache环境,保证都有区别的web页面内容

二.配置反向代理

1.基于源码安装的nginx环境下修改nginx.conf(设备1)

[root@localhost conf]# pwd
/usr/local/src/nginx-1.22.0/conf
[root@localhost conf]# vim nginx.conf
worker_processes  1;
events {worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;error_log /usr/local/src/nginx-1.22.0/logs/error.log;access_log /usr/local/src/nginx-1.22.0/logs/access.log;server {listen 80;server_name www.aabb.com;location / {proxy_pass http://192.168.2.191;}}               server {listen 80;server_name www.llss.com;location / {proxy_pass http://192.168.2.193;}}
}

2.通过windows powershell进行修改hosts文件并测试

PS C:\WINDOWS\system32> cd .\drivers\etc\PS C:\WINDOWS\system32\drivers\etc> notepad .\hostsPS C:\WINDOWS\system32\drivers\etc>

dded7aa3d8c94121a33ad8d6322871a3.png

 

 

3.设备2和设备3上查看日志,可以看到访问来源都是代理服务器(2.190)而不是真实客户端地址

 3e7eb24b0490475e9f1e8c91c52f5767.png

 三.实现两台web服务器记录真实客户端IP地址

 

1.Nginx代理服务器配置(设备1)

在proxy_pass后继续添加以下内容

server {listen 80;server_name www.aabb.com;location / {proxy_pass http://192.168.2.191;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}}server {listen 80;server_name www.llss.com;location / {proxy_pass http://192.168.2.193;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $http_x_forwarded_for;}}

2.Nginx类的web服务器(设备2)配置

(1)修改nginx.conf文件,在index下方继续添加以下内容

server {listen       80;server_name  localhost;access_log   logs/access.log;location / {root   /usr/local/src/nginx-1.22.0/html;index  index.html index.htm;set_real_ip_from  192.168.2.190;  #此处填写你的nginx代理服务器的地址real_ip_header    X-Forwarded-For;real_ip_recursive on;}

(2)浏览器访问后设备2查看日志

通过浏览器访问传回虚拟机的这个访问地址是windows上的虚拟网卡VMnet8的地址

747fe133b40f49ae86d49d2954cea3c7.png

 

 

(3)设备3做域名映射后访问设备2查看日志以进一步确认

#修改/etc/hosts文件后查看
[root@localhost ~]# tail -1 /etc/hosts
192.168.2.190 www.aabb.com
[root@localhost ~]# curl www.aabb.com
191

89e9a4890b1841899f6221930bbbe735.png

 

3.Apache类的web服务器(设备3)配置

(1)修改httpd.conf文件

[root@localhost conf]# pwd
/etc/httpd/conf
[root@localhost conf]# vim httpd.conf

19d25b6b96564004b6a73d820a128489.png

(2)把原本这里的第一行LogFormat换成这个

LogFormat "%{X-FORWARDED-FOR}i %h %l %u %t %r %>s %b %{Referer}i %{User-Agent}i" combined
[root@localhost conf]# systemctl restart httpd.service

 

(3)浏览器访问设备3进行测试

返回了真实地址和nginx代理服务器的真实地址 

aecdb745f1d546a1b77e03890b2c4408.png

 

 

 

 

http://www.lryc.cn/news/132883.html

相关文章:

  • 【仿写tomcat】四、解析http请求信息,响应给前端,HttpServletRequest、HttpServletResponse的简单实现
  • FL Studio21.1中文完整版Win/Mac
  • 基于Mysql+Vue+Django的协同过滤和内容推荐算法的智能音乐推荐系统——深度学习算法应用(含全部工程源码)+数据集
  • Python Web开发 Django 简介
  • HAproxy搭建web集群
  • 临时用工小程序:一款便捷的用工管理软件
  • Android Studio 之 Android 中使用 HanLP 进行句子段落的分词处理(包括词的属性处理)的简单整理
  • CSDN编程题-每日一练(2023-08-20)
  • 大数据:NumPy进阶应用详解
  • new String创建几个对象
  • 【路由协议】使用按需路由协议和数据包注入的即时网络模拟传递率(PDR)、总消耗能量和节点消耗能量以及延迟研究(Matlab代码实现)
  • c#实现依赖注入
  • 算法通关村十一关 | 位运算实现加法和乘法
  • C++笔记之条件变量(Condition Variable)与cv.wait 和 cv.wait_for的使用
  • Dubbo之DubboBootstrap源码解析
  • SpringBoot + Vue 微人事 项目 (第八天)
  • 人工智能引领图文扫描新趋势
  • ChatGPT在智能城市规划和交通优化中的应用如何?
  • 探索Perfetto:开源性能追踪工具的未来之光
  • A*算法图文详解
  • [MySQL] — 数据类型和表的约束
  • JetBrains IDE远程开发功能可供GitHub用户使用
  • LVS 负载均衡集群
  • Mongodb Ubuntu安装
  • 【Spring Boot 源码学习】自动装配流程源码解析(下)
  • 基于微信小程序的毕业设计题目200例
  • 【数据管理】什么是数据管理?
  • [oneAPI] 手写数字识别-LSTM
  • 通过css设置filter 属性,使整个页面呈现灰度效果,让整个网页变灰
  • ahooks.js:一款强大的React Hooks库及其API使用教程(一)