定义一组服务器。
服务器可以侦听不同的端口。
此外,可以混合侦听TCP和UNIX域套接字的服务器。
= 2
= 1
设置用于压缩响应的缓冲区的数量和大小。
默认情况下,缓冲区大小等于一个内存页面。
这是4K或8K,具体取决于平台。
Enables gzipping of responses for the specified MIME types in addition to “text/html”. The special value “*” matches any MIME type (0.8.29). Responses with the “text/html” type are always compressed.
根据请求和响应启用或禁用对代理请求的响应的gzipping。
请求被代理的事实由“Via”请求头字段的存在确定。
该指令接受多个参数:
# off
disables compression for all proxied requests, ignoring other parameters;
# expired
enables compression if a response header includes the “Expires” field with a value that disables caching;
# no-cache
enables compression if a response header includes the “Cache-Control” field with the “no-cache” parameter;
# no-store
enables compression if a response header includes the “Cache-Control” field with the “no-store” parameter;
# private
enables compression if a response header includes the “Cache-Control” field with the “private” parameter;
# no_last_modified
enables compression if a response header does not include the “Last-Modified” field;
# no_etag
enables compression if a response header does not include the “ETag” field;
# auth
enables compression if a request header includes the “Authorization” field;
# any
enables compression for all proxied requests.
设置代理服务器的协议和地址以及应映射位置的可选URI。作为协议,可以指定“http”或“https”。地址可以指定为域名或IP地址,以及可选端口:
设置用于读取从代理服务器接收的响应的第一部分的缓冲区的大小。这部分通常包含一个小的响应头。默认情况下,缓冲区大小等于一个内存页面。这是4K或8K,具体取决于平台。然而,它可以做得更小。
启用缓冲后,nginx会尽快从代理服务器接收响应,并将其保存到proxy_buffer_size和proxy_buffers指令设置的缓冲区中。 如果整个响应不适合内存,则可以将其中的一部分保存到磁盘上的临时文件中。 写入临时文件由proxy_max_temp_file_size和proxy_temp_file_write_size指令控制。
禁用缓冲时,响应会在收到响应时立即同步传递给客户端。 nginx不会尝试从代理服务器读取整个响应。 nginx一次可以从服务器接收的数据的最大大小由proxy_buffer_size指令设置。
也可以通过在“X-Accel-Buffering”响应头字段中传递“是”或“否”来启用或禁用缓冲。 可以使用proxy_ignore_headers指令禁用此功能。
用于单个连接。默认情况下,缓冲区大小等于一个内存页面。这是4K或8K,具体取决于平台。
当启用来自代理服务器的响应缓冲时,限制可能忙于向响应客户端发送响应的缓冲区的总大小,而响应尚未完全读取。
同时,其余缓冲区可用于读取响应,如果需要,还可以缓冲部分响应临时文件。
默认情况下,size由proxy_buffer_size和proxy_buffers指令设置的两个缓冲区的大小限制。
定义用于缓存的共享内存区域。可以在多个地方使用相同的区域。参数值可以包含变量(1.7.9)。off参数禁用从先前配置级别继承的缓存。
应该注意,此超时通常不会超过75秒。
设置代理的HTTP协议版本。默认情况下,使用版本1.0。建议将1.1版用于keepalive连接。
error
an error occurred while establishing a connection with the server, passing a request to it, or reading the response header;
timeout
a timeout has occurred while establishing a connection with the server, passing a request to it, or reading the response header;
invalid_header
a server returned an empty or invalid response;
http_500
a server returned a response with the code 500;
http_502
a server returned a response with the code 502;
http_503
a server returned a response with the code 503;
http_504
a server returned a response with the code 504;
http_403
a server returned a response with the code 403;
http_404
a server returned a response with the code 404;
http_429
a server returned a response with the code 429 (1.11.13);
non_idempotent
normally, requests with a non-idempotent method (POST, LOCK, PATCH) are not passed to the next server if a request has been sent to an upstream server (1.9.13); enabling this option explicitly allows retrying such requests;
off
disables passing a request to the next server.
定义从代理服务器读取响应的超时。仅在两个连续的读操作之间设置超时,而不是为整个响应的传输。如果代理服务器在此时间内未传输任何内容,则关闭连接。
设置将请求传输到代理服务器的超时。仅在两个连续的写操作之间设置超时,而不是为整个请求的传输。如果代理服务器在此时间内未收到任何内容,则关闭连接。
允许将字段重新定义或附加到传递给代理服务器的请求标头。该值可以包含文本,变量及其组合。当且仅当在当前级别上没有定义proxy_set_header指令时,这些指令才从前一级继承。默认情况下,只重新定义了两个字段:
当启用从代理服务器到临时文件的响应缓冲时,限制一次写入临时文件的数据大小。
默认情况下,size由proxy_buffer_size和proxy_buffers指令设置的两个缓冲区限制。
临时文件的最大大小由proxy_max_temp_file_size指令设置。
设置读取客户端请求主体的缓冲区大小。
如果请求主体大于缓冲区,则整个主体或仅其部分被写入临时文件。
默认情况下,缓冲区大小等于两个内存页。
这在x86,其他32位平台和x86-64上是8K。
在其他64位平台上通常为16K。
设置读取客户端请求标头的缓冲区大小。
对于大多数请求,1K字节的缓冲区就足够了。
但是,如果请求包含长cookie或来自WAP客户端,则可能不适合1K。
如果请求行或请求头字段不适合此缓冲区,则会分配由large_client_header_buffers指令配置的较大缓冲区。
设置客户端请求正文的最大允许大小,在“Content-Length”请求标头字段中指定。
如果请求中的大小超过配置的值,则会将413(请求实体太大)错误返回给客户端。
请注意,浏览器无法正确显示此错误。
将大小设置为0将禁用检查客户端请求正文大小。
控制是否应忽略具有无效名称的标头字段。有效名称由英文字母,数字,连字符和可能的下划线组成(由underscores_in_headers指令控制)。
启用或禁用客户端请求标头字段中下划线的使用。禁用下划线时,名称包含下划线的请求标头字段将标记为无效,并受到ignore_invalid_headers指令的约束。
评估指定的条件。如果为true,则执行在大括号内指定的此模块指令,并在if指令内为该请求分配配置。
if指令内的配置继承自先前的配置级别。
如果指定的正则表达式与请求URI匹配,则URI将根据替换字符串中的指定进行更改。重写指令按照它们在配置文件中的出现顺序执行。可以使用标志终止对指令的进一步处理。如果替换字符串以“http://”,“https://”或“$ scheme”开头,则处理停止并将重定向返回给客户端。
停止处理并将指定的代码返回给客户端。
非标准代码444在不发送响应头的情况下关闭连接。
从版本0.8.42开始,可以指定重定向URL(对于代码301,302,303,307和308)或响应正文文本(对于其他代码)。
响应正文文本和重定向URL可以包含变量。
作为特殊情况,可以将重定向URL指定为此服务器的本地URI,在这种情况下,根据请求方案($ scheme)以及server_name_in_redirect和port_in_redirect指令形成完整重定向URL。
另外,可以将用于具有代码302的临时重定向的URL指定为唯一参数。
这样的参数应该以“http://”,“https://”或“$ scheme”字符串开头。
URL可以包含变量。
停止处理当前的ngx_http_rewrite_module指令集。
如果在该位置内指定了指令,则在该位置继续进一步处理该请求。
原文:https://www.cnblogs.com/yuzhen0228/p/11322470.html