教程 nginx tutorial

Nginx 作为前端网关

Nginx 可以作为前端网关,将请求路由到不同的后端服务,实现负载均衡、反向代理和安全控制。

一、反向代理

nginx
server {
    listen 80;
    server_name example.com;

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

    location / {
        root /var/www/html;
        index index.html;
    }
}

`

  • proxy_pass:将请求转发到后端服务
  • 设置请求头保证客户端 IP 可用

二、请求路由

根据 URI 或 Host 分流请求:

nginx
server {
    listen 80;

    location /service1/ {
        proxy_pass http://backend1;
    }

    location /service2/ {
        proxy_pass http://backend2;
    }
}
  • 不同路径路由到不同后端服务,实现微服务网关功能

三、负载均衡

nginx
upstream backend_api {
    least_conn;
    server 192.168.1.101;
    server 192.168.1.102;
}
  • 将请求均衡分配到多台后端,提高可用性与性能

四、安全与性能优化

  1. 配置 HTTPS,保障数据传输安全
  2. 启用缓存与 gzip 压缩,提高响应速度
  3. 配置访问控制与限流,防止恶意请求

通过将 Nginx 作为前端网关,可以集中管理请求路由、负载均衡和安全策略,实现高性能、高可用的 Web 服务架构。