反向代理是 Nginx 的一项重要功能,它可以帮助我们隐藏后端服务器的真实 IP 地址,提高系统的安全性,同时还可以提高系统的性能。以下是一些关于 Nginx 反向代理的学习笔记。

基本概念

反向代理

反向代理(Reverse Proxy)是一种代理服务器,它位于客户端和真实服务器之间。客户端向代理服务器发送请求,代理服务器将请求转发给真实服务器,并将响应返回给客户端。在这个过程中,客户端并不知道真实服务器的存在。

作用

  • 隐藏真实服务器的 IP 地址,提高安全性。
  • 负载均衡,提高系统性能。
  • 缓存静态资源,减少服务器压力。

配置步骤

  1. 安装 Nginx:首先需要确保你的服务器上已经安装了 Nginx。
  2. 配置反向代理:编辑 Nginx 的配置文件,添加反向代理的配置。
  3. 重启 Nginx:配置完成后,重启 Nginx 使配置生效。

示例配置

server {
    listen 80;

    server_name example.com;

    location / {
        proxy_pass http://backend_server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

在上面的配置中,我们将请求转发到名为 backend_server 的服务器。

实际应用

反向代理在实际应用中非常广泛,以下是一些常见的应用场景:

  • 负载均衡:通过反向代理将请求分发到多个服务器,提高系统的处理能力。
  • 缓存静态资源:将静态资源缓存到代理服务器,减少后端服务器的压力。
  • 安全防护:隐藏真实服务器的 IP 地址,提高系统的安全性。

扩展阅读

Nginx 反向代理示意图