nginx反向代理(负载均衡)中部分参数详解
标签搜索

nginx反向代理(负载均衡)中部分参数详解

mrui
2024-03-06 / 0 评论 / 55 阅读 / 正在检测是否收录...

nginx的代理功能是通过http proxy 模块实现的。该模块每个选项的详细解释如下。

  • proxy_set_header 设置HTTP请求header项传给后端服务器节点,例如:可以实现让后端服务器节点获取访问客户端用户的真实IP地址。
  • client_body_buffer_size 用于指定客户端请求主体缓冲区大小。
  • proxy_connect_timeout 表示反向代理与后端服务器连接的超时时间,即发起握手等候响应的超时时间。
  • proxy_send_timeout 表示代理后端服务器的数据传回时间,即在规定时间之内后端服务器必须传完所有的数据,否则nginx将断开这个连接。
  • proxy_read_timeout 设置nginx从代理的后端服务器获取信息的时间。表示连接成功之后,nginx等待后端服务器的响应时间,也就是nginx已经进入后端的排队之中等候处理的时间。
  • proxy_buffer_size 设置缓冲区大小,默认该缓冲区大小等于指令proxy_buffers 设置的大小。
  • proxy_buffers 设置缓冲区大小。nginx从代理的后端服务器获取的响应信息,会放置到缓冲区。
  • proxy_busy_buffers_size 用于设置系统繁忙时可以使用的proxy_buffer的大小。官方推荐的大小为proxy_buffers*2。
  • proxy_temp_file_write_size 指定proxy缓存临时文件的大小。

nginx反向代理重要参数解释
proxy_pass http://server_pools;通过proxy_pass功能把用户的请求转发给反向代理定义的upstream服务器池
proxy_set_header Host $host;在代理向后端服务器发送的http请求头中加入host字段信息,用于当后端服务器配置有多个虚拟主机时,可以识别代理的是哪个虚拟主机。这是节点服务器多虚拟主机时的关键配置
proxy_set_header X-Forwarded-For $remote_addr;在代理向后端服务器发送的http请求头中加入X-Forwarded-For字段信息,用于后端服务器程序、日志等接收记录真实用户的IP,而不是代理服务器的IP。这是反向代理时,节点服务器获取用户真实IP的必要功能配置。
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

#nginx.conf文件
http {
include mime.types;
……
log_format main '$remote_addr - $remote_user [$time_local] "$request"'
                '$status $body_bytes_sent "$http_referer"'
                '"$http_user_agent" " $http_x_forwarder_for"' ;
……
}
0

评论

博主关闭了当前页面的评论