nginx反向代理

我们常说的代理是正向代理。使用正向代理的过程如下:

1,客户端连接代理。

2,代理连接服务器。

3,服务器将结果发给代理。

4,代理将结果发给客户端。

反向代理的过程如下:

1,客户端连接服务器,其实连接的是反向代理服务器,但是客户端不知道。

2,反向代理将请求转发给相应的服务器。

3,服务器将结果发给反向代理。

4,方向代理将结果发给客户端。

流程基本一样,主要是反向代理是和服务器部署在一起,如nginx,haproxy,但客户端不知道反向代理的存在。反向代理知道服务器集群的情况,知道怎么转发请求给具体的服务器。而正向代理只能转发给相应的域名对应的服务器。反向代理因为和服务器部署在一起,所以可以用来做负载均衡,对客户端请求进行各种处理(如统计连接数,拒绝连接等)等等。

主要记住,反向代理是和服务器集群在一起的,并且知道集群的内部情况。




看完这么多人的,来说下我的想法,用访问百度来比喻一下。
如果想用正向代理的方式访问百度的话,那我们得这样做:
1、自己搭一个或者找一个代理服务器
2、将上一步得到的代理服务器,在系统中设置好,windows中是这样设置的
<img src="https://i-blog.csdnimg.cn/blog_migrate/7ec59ea4ebb7b04b44cecd60c8b0f55e.jpeg" data-rawwidth="461" data-rawheight="435" class="origin_image zh-lightbox-thumb" width="461" data-original="https://pic2.zhimg.com/v2-09447fdd2e480b17168d7c92b7c2b389_r.jpg">127.0.0.1是我的代理服务器的ip,8888是我的代理服务器的端口。

127.0.0.1是我的代理服务器的ip,8888是我的代理服务器的端口。
3、然后访问baidu.com,这样的话代理服务器就会开始工作了,首先你访问百度的请求会发送到代理服务器上,然后代理服务器就会听你的话,去baidu.com把东西给拿回来,然后放在自己的服务器上面,之后你就从代理服务器上拿走,返回给自己电脑。
这里的要点是:
客户端没有直接和服务端(baidu.com)接触,而是通过代理服务器(127.0.0.1:8888)间接访问,数据也是从代理服务器上直接拿的。

而使用反向代理访问 baidu.com的话,我们本地根本就不用配置,因为啊,这个反向代理其实是服务器端的配置。而且其实我们一直都是用反向代理访问大多数网站的。
我们访问的 baidu.com,然后从这个服务器拿到的资源,其实可能这些资源并不是从这个服务器里拿出来的,而是这个服务器作为反向代理,从别的服务器拿过来的。
你以为你是这样访问百度的
<img src="https://i-blog.csdnimg.cn/blog_migrate/127d840c8041692ca60c23ed1e976c5c.jpeg" data-rawwidth="730" data-rawheight="192" class="origin_image zh-lightbox-thumb" width="730" data-original="https://pic1.zhimg.com/v2-8b39ecf03c72f6b30cf4fd3e25aa5150_r.jpg">而实际上你是这么访问百度的 而实际上你是这么访问百度的
<img src="https://i-blog.csdnimg.cn/blog_migrate/d65748b1b35e84eae2f5aa1133e61031.jpeg" data-rawwidth="1031" data-rawheight="374" class="origin_image zh-lightbox-thumb" width="1031" data-original="https://pic3.zhimg.com/v2-3ef0905e6342500107ce72c2de7b254a_r.jpg">所以我们用反向代理,这个反向代理就相当于一个统筹资源的作用 所以我们用反向代理,这个反向代理就相当于一个统筹资源的作用


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx 反向代理是一种常用的服务器配置方法,它可以将客户端的请求转到后端的多个服务器上,并将响应返回给客户端。通过反向代理,可以实现负载均衡、缓存、安全性等功能。 要配置 Nginx 反向代理,你需要编辑 Nginx 的配置文件(通常是 `nginx.conf`),然后添加相应的配置项。 以下是一个简单的 Nginx 反向代理配置示例: ``` http { upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } } ``` 在这个示例中,`upstream` 块定义了后端服务器的列表。`server` 块定义了监听的端口和域名,并在 `location` 块中配置了反向代理。 `proxy_pass` 指令将请求转发到 `http://backend`,其中 `backend` 是 `upstream` 块中定义的后端服务器列表。 `proxy_set_header` 指令用于设置转发请求时的请求头。在示例中,我们设置了 `Host` 和 `X-Real-IP` 请求头。 完成配置后,保存文件并重新加载 Nginx 配置。这样,Nginx 就会将客户端的请求转发到后端服务器,并将响应返回给客户端。 请注意,以上只是一个简单的示例,实际的配置可能因具体需求而有所不同。你可以根据实际情况进行配置,并参考 Nginx 官方文档获取更多信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值