Nginx 反向代理

Nginx 反向代理

Nginx 反向代理

代理是驻留在内部应用程序和外部客户端之间的服务器,将客户端请求转发到适当的服务器。 Nginx 反向代理服务器是位于私有网络中防火墙后面的代理服务器,并将客户端请求定向到适当的后端服务器。
反向代理提供了额外的级别抽象和控制以确保客户端和服务器之间的网络流量顺畅流动。

反向代理服务器的使用

负载平衡: 反向代理服务器可以充当驻留在我们后端服务器前面的交通警察,并以提高速度和容量利用率的方式在一组服务器之间分发客户端请求,同时确保没有一个服务器过载,这会降低性能。如果服务器未启动,则负载均衡器会将流量重定向到其余在线服务器。
Web 加速: Nginx 反向代理也用于压缩出站和入站数据作为缓存常见请求的内容,两者都加快了客户端和服务器之间的流量流动。
安全性和匿名性: 我们可以拦截前往我们后端服务器的客户端的请求,通过这样做,反向代理服务器可以保护他们的身份并作为抵御安全攻击的额外防御。

将请求传递给代理服务器

当 Nginx 服务器代理请求时,它会将请求发送到指定的代理服务器,获取响应,然后将其发送回到客户端。可以使用指定的协议向 HTTP 服务器或非 HTTP 服务器提供代理请求。支持的协议包括 FastCGI、uwsgi、SCGI 和 Memcached。
为了将请求传递到 HTTP 代理服务器,proxy_pass 指令在位置中定义。例如:
location /some/path/ {
    proxy_pass http://www.example.com/link/;
}

要将请求传递到非 HTTP 代理服务器,请使用适当的 **_pass 指令:

fastcgi_pass: 它将请求传递给 fastCGI 服务器。
uwsgi_pass: 它将请求传递给 uwsgi 服务器。
scgi_pass: 它将请求传递给 SCGI 服务器。
memcached_pa​​ss: 它将请求传递给 memcached 服务器。