1.代理:正向代理、反向代理
Syntax: proxy_pass URL;
Default: proxy_buffering on|off; #缓冲区开关
Context: http,server,location
Syntax: proxy_buffer_size size;
Default: proxy_buffer_size 4k|8k; #缓冲区大小
Context: http,server,location
Syntax: proxy_buffer number size;
Default: proxy_buffers8 4k|8k; #缓冲区数量
Syntax: proxy_busy_buffer_size size;
Default: proxy_busy_buffers_size 8k|16k; #忙碌的缓冲区大小,控制同时传递给客户端的buffer数量
Syntax: proxy_set_header field value;
Default: proxy_set_header Host$proxy_host; #设置真实客户端地址
proxy_set_header Connection close;
Syntax: proxy_connect_timeout time;
Default: proxy_connect_timeout 60s; #链接超时
Syntax: proxy_read_timeout time;
Default: proxy_read_timeout 60s;
Syntax: proxy_send_timeout time; #nginx进程向fastcgi进程发送request的整个过程的超时时间
Default: proxy_send_timeout 60s;
2.代理缓存
启动代理缓存
http{
proxy_cache_path /app/ale/cache levels=1:2 keys_zone=proxy_cache:10m max_size=10g inactive=60m use_temp_path=off;
}
location/{
proxy_cache proxy_cache; #proxy_cache 使用名为proxy_cache的对应缓存配置
proxy_cache_valid 200 304 12h; #proxy_cache_valid 200 206 304 301 302 12h;对httpcode为200..缓存12小时
proxy_cache_valid any 10m; #proxy_cache_valid设置不同相应码的缓存时间,除了上面的,其他的存10分钟
proxy_cache_key $host$uri$is_args$args; #proxy_cache_key $uri定义缓存唯一key;通过唯一key来进行hash存取
add_header Nginx-Cache "$upstream_cache_status" #add_header:缓存命中情况如何在http头中体现,以及在nginx日志中查看 #proxy_cache_path缓存文件路径
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; #proxy_next_upstream 出现502-504或错误,会跳过此台服务器访问下一台服务器
}
mkdir -p /app/ale/cache