• Post author:
  • Post category:nginx
  • Post comments:0评论
Like
Like Love Haha Wow Sad Angry

1、附加额外的请求头信息传递到后端服务器

Syntax:  proxy_set_header field value;              //将value的值赋值给field字段
Default: proxy_set_header Host $proxy_host;
         proxy_set_header Connection close;
Context: http, server, location

示例配置:

// 传递域名给后端服务器,不设置此项,默认传递ip给后端。
proxy_set_header Host $http_host;

// 最后一层代理的IP地址。多层代理会覆盖,只显示最后一层代理IP地址。
proxy_set_header X-Real-IP $remote_addr;

// 透传真实客户端地址。客户端通过代理访问后端服务器,访问日志定义的X-Forwarded-For字段会显示客户端的真实ip。多层代理会追加。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

2、超时时间相关

// 代理服务器与后端服务器连接超时时间
Syntax:  proxy_connect_timeout time;
Default: proxy_connect_timeout 60s;
Context: http, server, location

// 代理服务器等待后端服务器响应的超时时间
Syntax:  proxy_read_timeout time;
Default: proxy_read_timeout 60s;
Context: http, server, location

// 后端服务器数据回传给代理服务器超时时间
Syntax:  proxy_send_timeout time;
Default: proxy_send_timeout 60s;
Context: http, server, location

3、buffer缓冲相关(可能有误,没有弄明白)

// 开启内容缓冲,nignx会把后端返回的内容先放到缓冲区当中,然后再返回给客户端。
Syntax:  proxy_buffering on | off;
Default: proxy_buffering on;
Context: http, server, location

// 设置代理服务器保存响应头信息的缓冲区大小。这个参数并不受proxy_buffering开启或关闭的影响,它始终都是生效的。
Syntax:  proxy_buffer_size size;
Default: proxy_buffer_size 4k|8k;
Context: http, server, location

// 响应缓冲区的个数和大小,响应内容先写入缓冲区,写满或者写完,立即发送给客户端。这里设置的缓冲区大小是针对每个请求连接而言的。
Syntax:  proxy_buffers number size;
Default: proxy_buffers 8 4k|8k;
Context: http, server, location

示例配置:

proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 96k;

4、示例

nginx反向代理示例:

[root@lb01 ~]# cat /etc/nginx/conf.d/proxy_wordpress.conf 
upstream wordpress {
    server 172.16.1.7:80;
    server 172.16.1.8:80;
}

server {
    listen 80;
    server_name wordpress.cp.com;

    location / {
        proxy_pass http://wordpress;
        include proxy_params;
    }
}
[root@lb01 ~]# cat /etc/nginx/proxy_params      //注意根据网站实际情况配置
proxy_http_version 1.1;     //设置HTTP代理协议版本。 默认情况下,使用的是1.0版本,官方推荐使用1.1。

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;

proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 96k;
Like
Like Love Haha Wow Sad Angry

发表评论