一种直接直接是配置在 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临时文件的大小 ;