Nginx的核心功能--正向代理、反向代理、缓存和Rewrite

发布于:2025-05-15 ⋅ 阅读:(13) ⋅ 点赞:(0)

Nginx作为高性能的Web服务器,其核心功能主要体现在以下四大模块:

一、正向代理

主要用于客户端访问外部网络的中转服务。典型配置示例:

server {
    listen 8080;
    resolver 8.8.8.8;
    
    location / {
        proxy_pass http://$http_host$request_uri;
        proxy_set_header Host $http_host;
    }
}

注:需配合客户端代理设置使用

二、反向代理

核心应用场景是负载均衡与服务隐藏,常见配置:

upstream backend {
    server 10.0.0.1:8000 weight=3;
    server 10.0.0.2:8000;
}

server {
    location / {
        proxy_pass http://backend;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

支持7种负载策略:轮询、权重、IP哈希等

三、缓存加速

多级缓存配置示例:

proxy_cache_path /data/cache levels=1:2 keys_zone=my_cache:10m;

server {
    location / {
        proxy_cache my_cache;
        proxy_cache_valid 200 302 10m;
        proxy_cache_use_stale error timeout;
    }
}

缓存维度控制:

  • 根据URL、请求参数生成缓存键
  • 支持缓存过期时间分级设置
  • 可定制缓存清除策略

四、Rewrite引擎

URL重写三要素:

rewrite ^/old/(.*)$ /new/$1 permanent;

语法结构:
r e w r i t e    < r e g e x >    < r e p l a c e m e n t >    [ f l a g ] ; rewrite\ \ <regex>\ \ <replacement>\ \ [flag]; rewrite  <regex>  <replacement>  [flag];

常用标记说明:

Flag 作用域 执行特点
last server块 重写后继续匹配location
break server块 立即终止匹配过程
redirect 全局 返回302临时重定向
permanent 全局 返回301永久重定向

典型应用场景:

  1. 动态URL静态化
  2. 多域名统一规范化
  3. A/B测试流量分割
  4. 灰度发布路径控制

这四大功能模块通过组合使用,可构建高性能的Web服务架构,QPS处理能力可达5万+/秒(取决于硬件配置)。


网站公告

今日签到

点亮在社区的每一天
去签到