nginx实现虚拟主机的三种方式及反向配置代理

本文系统解析 Nginx 虚拟主机的三种部署模式,并结合反向代理技术实现流量转发与隐藏后端架构。通过配置示例与实战实验,展示跨网段代理配置及客户端真实 IP 追踪方案,为企业级 Web 服务部署提供技术参考。

一、虚拟主机配置方式

1.相同IP,不同端口

yiUtJSPQ67ede98949d98.png

2.不同IP,相同端口

JmwtkKOD67ede9959eb25.pngo9c3kUbn67ede9a096e49.png

3.相同IP,相同端口,不同主机名

ptu6WxlF67edea84f1626.png

二、反射代理配置详解

2.1 nginx反向代理概述

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器,简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同而已。

注:正向代理 所谓正向代理就是顺着请求的方向进行的代理,即代理服务器它是由你配置为你服务,去请求目标服务器地址。 比如我们要去访问谷歌网站,我们直接访问不通,那么我们就可以找一个代理服务器为我们服务,我们 通过代理服务器请求到谷歌网站。对于谷歌而言它只知道有一个服务器访问了自己,并不知道这件事你 是访问不了它,找了一个代理服务器访问自己。 在举一个通俗的例子。你需要钱,C正好有钱,但是你C不直接借给你。你和B关系比较好,B可以找C借 到钱。你和B沟通后,由B来找C借到钱后在给你。 上面的两个例子中的共同特点是代理服务器和B都是你找到的,为你而服务的,代表你的利益。我们还可以让代理服务器给你代理到推特、Facebook等,它是代理的你。

sjmEzmtQ67edea923f4a3.png

2.2 实现nginx反向代理

官方文档: https://nginx.org/en/docs/http/ngx_http_proxy_module.html

tZ6tNf0S67edeaab451d3.png

环境:

rsg5imuq67edeabacdec0.png

三、实战实验配置

实验一:反向代理到a的请求代理到百度

cWCXszfw67edeac6709f5.png

实验二、

C0Uhnzdy67edead36e15b.png

 web1机器的配置:对于物理机来讲,是没有办法直接访问到172.16.1.202这个地址的,可以使用反向代 理的方式访问,通过web01配置反向代理,把请求代理给web02机器。

 查看web2的日志。访问的IP地址可以看出为172.16.1.201为web01的IP,(也就是反向代理服务器)虽 然我访问的是192网段的,帮我们代理到了172网段的,。但是实际上真正访问服务器的应该是我们的物理机,IP为192.168.26.1

Ic29LJpI67edeae723bd4.png

最终结论:物理机192.168.26.1----->192.168.26.201 172.16.1.201 ------->172.16.1.202 如果想要统计到底有多少客户端在访问后端服务器?不管客户端IP是多少,后端服务器上显示的IP都为 反向代理服务器的IP,在做反向代理服务器的时候,要发送报文信息,我们要求在报文中携带字段,包含客户端IP,对于后端服务器而言,就可以看出到底是哪个客户端在访问。 实验三:在查看访问日志的时候能够显示到访问的真实ip。

oqEFSyGu67edebcf58cfc.png


你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
乐维君
乐维君

429 篇文章

作家榜 »

  1. 乐维君 429 文章
  2. YOHOHO 14 文章
  3. 机灵小和尚 13 文章
  4. 细雨闲花 12 文章
  5. 我是一只小菜鸡 12 文章
  6. 。。。 9 文章
  7. 御前侍卫张五哥 9 文章
  8. 小黄人 8 文章