反向代理是一种代理服务器的配置模式,它代表服务器向客户端提供服务。客户端发送请求到反向代理服务器,然后反向代理服务器将请求转发到后端的真实服务器上,并将响应返回给客户端。
Nginx 是一个高性能的开源 Web 服务器和反向代理服务器。它具有轻量级、高并发、低内存消耗等特点,被广泛用于搭建静态资源服务器、负载均衡、反向代理等场景。
简单理解为用户直接访问反向代理服务器就可以获得目标服务器的资源。这一过程叫反向代理
Nginx的反向代理配置涉及以下几个关键部分:
- server块。在`http`块中,`server`块用于定义服务器及其相关的配置。例如,`listen`指令用于指定服务器监听的端口,`location`指令用于匹配特定的URI,并定义该URI对应的处理方式。
- proxy_pass。`proxy_pass`指令用于将请求转发到上游服务器。它接受代理服务器的协议、地址以及可选的URI。例如,`proxy_pass http://localhost:8000/uri/`将请求转发到`localhost:8000`,并使用`/uri/`作为上游服务器的访问地址。
- upstream块。`upstream`块用于定义一个上游服务器集群,便于在`proxy_pass`中使用。例如,`upstream backend{server 127.0.0.1:8080;}