image.png

    proxy-缓冲区

    Syntax: proxy_buffering on | off;
    Default: proxy_buffering on;
    Context: http, server, location

    扩展:

    proxy_buffer_size-设置缓冲区大小(内存页大小)
    proxy_buffers-设置缓冲区数量和大小(内存页数量和大小)
    proxy_busy_buffers_size-设置最大缓冲区大小

    image.png

    proxy-重定向

    Syntax: proxy_redirect default; proxy_redirect off; proxy_redirect redirect replacement;
    Default: proxy_redirect default;
    Context: http, server, location

    image.png

    proxy-头信息

    Syntax: proxy_set_header field value;
    Default: proxy_set_header Host $proxy_host; proxy_set_header Connection close;
    Context: http, server, location

    扩展:

    proxy_hide_header-设置隐藏头信息字段
    proxy_set_body-设置请求体返回信息

    image.png

    proxy-超时

    Syntax: proxy_connect_timeout time;
    Default: proxy_connect_timeout 60s;
    Context: http, server, location

    image.png
    location / {
    index index.jsp;
    proxy_pass http://hello; #在这里设置一个代理,和upstream的名字一样
    #以下是一些反向代理的配置可删除
    proxy_redirect off;
    #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    client_max_body_size 10m; #允许客户端请求的最大单文件字节数
    client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数
    proxy_connect_timeout 300; #nginx跟后端服务器连接超时时间(代理连接超时)
    proxy_send_timeout 300; #后端服务器数据回传时间(代理发送超时)
    proxy_read_timeout 300; #连接成功后,后端服务器响应时间(代理接收超时)
    proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
    proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
    proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
    proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
    }
    }
    详解:
    proxy_redirect default;

    • 没有重定向就配置成默认,除非后端返回301情况下设置成具体重定向地址

    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;

    • 设置字段重新定义或附加到传递给代理服务器的请求头

    proxy_connect_timeout 30;

    • 设置代理连接超时时间

    proxy_read_timeout 60;

    • 设置从代理服务器读取响应的超时时间

    proxy_send_timeout 60;

    • 设置向代理服务器发送请求的超时时间

    proxy_buffering on;


    proxy_buffer_size 32k;

    • 设置用于读取从代理服务器接收的响应的第一部分的缓冲区的大小

    proxy_buffers 4 128k

    • 设置用于从代理服务器读取响应的缓冲区的数量和大小,用于单个连接

    proxy_busy_buffers_size 256k;

    • 设置当启用来自代理服务器的响应缓冲时,限制可能忙于向响应客户端发送响应的缓冲区的总大小,而响应尚未完全读取

    proxy_max_temp_file_size 256k;

    • 设置当启用来自代理服务器的响应缓冲,并且整个响应不适合proxy_buffer_size和proxy_buffers指令设置的缓冲区时,响应的一部分可以保存到临时文件中,该指令设置临时文件的最大大小。 一次写入临时文件的数据大小由proxy_temp_file_write_size指令设置