linux nginx 代理详解

本文详细介绍了Nginx的代理设置,包括proxy_pass语法、缓冲区管理(proxy_buffering、proxy_buffer_size等)、头信息设置如proxy_set_header以及超时控制(proxy_connect_timeout、proxy_read_timeout、proxy_send_timeout)。通过对这些参数的理解和调整,可以优化Nginx作为代理服务器的性能。

代理

Syntax: proxy_pass URL; #代理的后端服务器URL
Default: —
Context: location, if in location, limit_except

缓冲区

Syntax: proxy_buffering on | off;
Default: proxy_buffering on; #缓冲开关
Context: http, server, location
proxy_buffering开启的情况下,nignx会把后端返回的内容先放到缓冲区当中,然后再返回给客户端
(边收边传,不是全部接收完再传给客户端)。
Nginx 全局配置中的 tcp_nopush 的作用就是 数据包会累计到一定大小之后才会发送 。而 tcp_nodelay 是尽快发送数据,所以若你启用了 buffer,建议关闭 tcp_nodelay。

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

Syntax: proxy_busy_buffers_size size;
Default: proxy_busy_buffers_size 8k|16k;#忙碌的缓冲区大小控制同时传递给客户端的buffer数量
Context: http, server, location

头信息

Syntax: proxy_set_header field value;
Default: proxy_set_header Host $proxy_host; #设置真实客户端地址
proxy_set_header Connection close;
Context: http, server, location

超时

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; #nginx进程向fastcgi进程发送request的整个过程的超时时间
Default: proxy_send_timeout 60s;
Context: http, server, location

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值