4)匹配完“普通 location ”后,有的时候需要继续匹配“正则 location ”,有的时候则不需要继续匹配“正则 location ”。
两种情况下,不需要继续匹配正则 location :(1) 当普通 location 前面指定了“ ^~ ”,特别告诉 Nginx 本条普通 location 一旦匹配上,则不需要继续正则匹配;(2) 当普通location 恰好严格匹配上,不是最大前缀匹配,则不再继续匹配正则。
2.4 proxy模块的介绍
Nginx转发模块是ngx_http_proxy_module,默认安装,可以直接使用
Proxy_pass此指令用于转发location匹配到的url到serve池子中。
语法:proxy_pass URL;
注意:使用该指令时需注意URL中是否包含URI。,如果URL中不包含URI,nginx将不会改变原地址的uri,如果包含uri,将使用新的uri代替原来的uri。
如:
location /test {
#1 proxy_pass http://1.1.1.1;
#2 proxy_pass http://1.1.1.1/tmp;
}
如果使用1的话,原来的url将不会改变,代理后是http://1.1.1.1/test
如果使用2的话,原来的url将会变为http://1.1.1.1/tmp
所以在配置的时候需要注意url末尾是否加“/”的问题
参数:
proxy_ignore_client_abort on|off用于设置客户端中断网络请求时,nginx是否中断对被代理服务器的请求,默认为off,中断
proxy_headers_hash_max_size size 设置http报文头的哈希表的大小,默认为512
proxy_headers_hash_bucket_size size 设置申请存放http报文头的哈希表容量的单位大小,默认为64字符
client_body_buffer_size 客户端请求缓存大小,可以理解为先保存本地在传给用户
proxy_connect_timeout time 与RS链接超时的时间,默认为60s
proxy_send_timeout time RS回传数据的时间,必须在这个时间段内传完,否则断开连接
proxy_read_timeout time 等待RS响应的时间,标明连接已经成功,正在排队
proxy_buffering on|off 是否开启proxy buffer 默认为on
proxy_buffer_size 缓存区大小,默认等于指令proxy_buffers设置的大小 默认为4K或8K
proxy_buffers number size 缓冲区的数量和大小,从RS获取的响应信息会放置到缓冲区,默认为8 4K|8K
proxy_busy_buffers_size 系统很忙时可以使用的proxy_buffers大小,官方推荐的大小是proxy_buffers的两倍,默认为8K或16K
proxy_temp_path path [level1[level2]] 指定磁盘上的一个文件路径,用于临时存放代理服务器的大体积响应数据,如果buffer已经装满,但是响应数据仍然没有被nginx完全接收,响应数据就会被临时存放到该文件中
proxy_max_temp_file_size 用于配置所有临时文件的总体积大小
proxy_temp_file_write_size 用于配置同时写入缓存临时文件的数据量大小
proxy_set_header host $host 当RS有多个虚拟主机的时候需要逐个指定








