在Nginx中配置动静分离和反向代理

63 阅读1分钟

在Nginx中配置动静分离和反向代理通常涉及到使用location块来匹配不同类型的请求,并使用proxy_pass指令实现反向代理。下面是一个简单的示例:

动静分离

假设你的动态请求以 /api/ 开头,而静态资源存储在 /static/ 目录下,可以这样配置:

server {
    listen 80;
    server_name your_domain.com;

    location /api/ {
        # 处理动态请求,这里可以配置反向代理或其他处理逻辑
        proxy_pass http://backend_server;  # 你的后端服务地址
    }

    location /static/ {
        # 处理静态资源
        root /path/to/your/static/files;  # 静态文件的根目录
        expires 7d;  # 静态资源缓存时间
    }

    # 其他配置...
}

反向代理

如果你想进行反向代理,将请求代理到后端服务器上,可以这样配置:

server {
    listen 80;
    server_name your_domain.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;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # 其他配置...
}

上述配置中,proxy_pass指令用于指定后端服务器的地址,而proxy_set_header用于设置一些HTTP头信息,确保传递给后端的信息是正确的。