Nginx正向代理和反向代理详解(4大核心区别)

Nginx正向代理

正向代理: 是一种代理客户端访问互联网的方式。

当客户端无法直接访问目标资源时(例如目标被屏蔽、限速、不可达等),可以通过一个中间服务器——正向代理服务器。

如下图所示:

Nginx正向代理和反向代理详解(4大核心区别)-mikechen

工作流程:

客户端 → 正向代理(Nginx) → 目标服务器

来代替客户端去访问目标服务器,然后把结果返回给客户端。

比如:国内想访问 www.google.com,但直连被屏蔽。

于是你配置了一个部署在国外的 Nginx 正向代理服务器,你的浏览器请求先发送到这个代理服务器,然后由它再去访问 google.com,最后再把页面内容返回给你。

 

Nginx反向代理

 

反向代理是一种代理服务端响应的方式,反向代理位于客户端和后端服务器之间。

客户端不知道真正的目标服务器是谁,它只与反向代理服务器交互。

反向代理服务器接收客户端的请求,然后将请求转发到后端服务器。

如下图所示:

Nginx正向代理和反向代理详解(4大核心区别)-mikechen

反向代理 就像你访问一个网站,实际上网站背后有很多服务器,中间人(代理服务器)帮你挑选和分发请求,你以为是一个服务,实际后面隐藏了很多机器。

工作流程,如下:

客户端 → 反向代理(Nginx) → 后端服务器集群

比如:Nginx 强大的反向代理能力被广泛用于微服务架构、负载均衡和网关层。

upstream backend_server {
    server 192.168.1.101;
    server 192.168.1.102;
}

server {
    listen 80;

    location / {
        proxy_pass http://backend_server;
    }
}

 

Nginx作为反向代理,主要使用proxy_passupstream指令。

upstream指令用于定义后端服务器组,proxy_pass指令用于将客户端请求转发到这些后端服务器。

 

 

 

两者的核心区别

Nginx正向代理和反向代理详解(4大核心区别)-mikechen

 

1.代理对象不同

正向代理代理客户端。

反向代理代理服务器。

2.隐藏对象不同

正向代理隐藏客户端IP。

反向代理隐藏服务器IP。

3.使用场景不同

正向代理主要用于客户端的网络访问控制。

反向代理主要用于服务器端的性能和安全优化。

4.部署位置不同

正向代理位于客户端网络出口,反向代理位于服务端入口。

 

评论交流
    说说你的看法