Nginx 反向代理

一种直接直接是配置在 HTTP 下;
一种是 配置 localtion /{ proxy_pass 调用 }

一、http 模块配置示例:

http {
upstream myserver {
     // 定义一个负载均衡组 myserver
server 192.168.0.11:80 weight=3 max_fails=3 fail_timeout=20s;
server 192.168.0.12:80 weight=3 max_fails=3 fail_timeout=20s;
server 192.168.0.13:80 weight=3 max_fails=3 fail_timeout=20s;
  // max_fails 表示请求失败次数 fails_timeout 失败孩子后暂停服务的时间;
}

server {
     //
listen 80;
server_name    www.www1.com 192.168.0.10;
index index.html index.html;
root /web/html;

location / {
proxy_pass http://myserver
proxy_next_upstream http_500 http_502 http_503 error timeout invalid_header;
include    /nginx/conf/proxy.conf;
     //    nginx 反向代理通过 proxy.conf 模块实现的;通过include 指令包括一个文件;
}
}
}

二、proxy_pass 调用 方式  反向代理配置 如下:

vi  proxy.conf 

proxy_redirect off;
  // 重定向 指定主机名 ;
proxy_set_header Host $host;
  // set_header 设置后端服务器获取主机名或者真实IP;以及代理者的真实IP地址;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

client_body_buffer_size 128k;
     // 客户端请求主题的缓冲区大小 保存本地再传输到客户端;
proxy_connect_timeout 90;
     // 与后端服务器链接超时时间  即握手响应的超时时间;
proxy_read_timeout 90;
     // 设置nginx从代理的后端服务器获取信息的时间; 表示连接建立成功 nginx响应等待后端的时间;
proxy_send_timeout 90;
     // 后端服务器数据回传时间
proxy_buffer_size   4k;
     // 缓冲区大小
proxy_buffer     4 32k;
     // 缓冲区数量和大小 ;nginx 从后端服务器获取的响应信息;
proxy_busy_buffer_size   64k;
     // 系统很忙时 缓冲区的大小  一般是缓冲区设置的两倍;
proxy_temp_file_write_size  64k;
     // 指定proxy临时文件的大小 ;
原文地址:https://www.cnblogs.com/sharesdk/p/7851621.html