proxy_buffer代理缓冲区

一:代理缓冲区

  • 简介
copy
proxy_buffering开启的情况下,nignx会把后端返回的内容先放到缓冲区当中,然后再返回给客户端(边收边传,不是全部接收完再传给客户端)。 临时文件由proxy_max_temp_file_size和proxy_temp_file_write_size这两个指令决定的。 如果proxy_buffering关闭,那么nginx会立即把从后端收到的响应内容传送给客户端,每次取的大小为proxy_buffer_size的大小,这样效率肯定会比较低。
1.代理缓存区模块介绍
copy
#nignx会把后端返回的内容先放到缓冲区当中,然后再返回给客户端,边收边传, 不是全部接收完再传给客户端 Syntax: proxy_buffering on | off; Default: proxy_buffering on; Context: http, server, location #设置nginx代理保存用户头信息的缓冲区大小 Syntax: proxy_buffer_size size; Default: proxy_buffer_size 4k|8k; Context: http, server, location #proxy_buffers 缓冲区 Syntax: proxy_buffers number size; Default: proxy_buffers 8 4k|8k; Context: http, server, location # 控制是否打开后端响应内容的缓存区(on开启) proxy_buffering on; # 后端服务器的响应头会放到proxy_buffer_size当中 proxy_buffer_size 8k; # 缓存区8个,每个缓存区8k大小 proxy_buffers 8 8k;

二:案例

  • lb01服务器
1.配置文件
copy
[root@lb01 conf.d]# vim /etc/nginx/conf.d/game.conf

image

2.测试
copy
nginx -t
3.重启
copy
systemctl restart nginx
4.lb01服务器(负载均衡)
  • 将nginx模块设置到全局变量
copy
cd /etc/nginx [root@lb01 nginx]# vim proxy_params

image

copy
# 用户请求的时候HOST的值是www.game.com, 那么代理服务会像后端传递请求的www.game.com proxy_set_header Host $http_host; # 将$remote_addr的值放进变量X-Real-IP中,$remote_addr的值为客户端的ip # (没代理情况下记录客户端ip) proxy_set_header X-Real-IP $remote_addr; # 客户端通过代理服务访问后端服务, 后端服务通过该变量会记录真实客户端地址 # (有代理情况下记录客户端ip) proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # ----------------------------------------------------------------------- # 代理到后端的TCP连接、响应、返回等超时时间 # (代理与后端服务器连接时间) proxy_connect_timeout 1s; # (后端服务器返回代理数据响应时间) proxy_read_timeout 3s; # (后端服务器数据回传nginx代理时间) proxy_send_timeout 3s; #-------------------------------------------------------------------------- # 控制是否打开后端响应内容的缓存区(on开启) proxy_buffering on; # 后端服务器的响应头会放到proxy_buffer_size当中 proxy_buffer_size 8k; # 缓存区8个,每个缓存区8k大小 proxy_buffers 8 8k;
5.网址配置文件
copy
[root@lb01 nginx]# vim /etc/nginx/conf.d/game.conf 1.将以下模块删除,因设置了全局变量配置文件 2.设置驱动文件路径 include /etc/nginx/proxy_params;

image

6.测试
copy
nginx -t
7.重启
copy
systecmtl restart nginx
8.DNS解析

image

9.网址测试
copy
www.game.com
10.日志实时监控
copy
web01服务器 [root@web01 conf.d]# tail -f /var/log/nginx/access.log ··· ![image](https://img2020.cnblogs.com/blog/2608805/202201/2608805-20220106231913007-1939435886.png)
posted @   AlexEvans  阅读(1251)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示
🚀