反向代理

是指以代理服务器来接收Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上的结果返回给Internet上请求连接的客户端,此时代理服务器对外表现为一个反向代理服务器,通常使用HTTP/https协议和fastcgi(将动态内容与HTTP服务器分离)

ngx_http_proxy_module模块:只要负责代理功能

代理相关模块及配置

proxy_pass URL:
proxy_set_header:将请求转发至后端server的报文的某首部进行重写
proxy_send_timeout:设置将请求传输到代理服务器的超时时间,仅在两次连续的读操作之间设置超时,默认时间为60s
proxy_read_timeout:设置从代理服务器读取响应的超时时间,仅在两个连续的读操作之间设置超时,默认时间为60s
proxy_connect_timeout:

[root@localhost conf.d]# cat proxy.conf
server{
listen 80;
server_name 192.168.220.101;
access_log /var/log/nginx/proxy_access.log;
error_log /ver/log/nginx/proxy_error.log;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_send_timeout 75s;
proxy_read_timeout 75s;
proxy_connect_timeout 75s;
}
}

[root@localhost conf.d]# cat web1.conf
server{
listen 8080;
server_name 127.0.0.1;
root /data/site1/;
access_log /var/log/nginx/web1_access.log;
error_log /var/log/nginx/web1_error.log;
location / {
index index.html;
}
}

代理缓存相关

负载均衡

是将访问的流量根据转发策略分发到后端的多台server上的一种控制服务,负载均衡可以通过流量分发扩展应用系统对外的能力,消除单点故障问题,提高系统的可用性

功能特点

  1. 负载均衡服务通过设置虚拟服务IP地址,将位于统一低于多台server资源虚拟成一个高性能,高可用的应用服务池;根据应用的指定方式,将来自客户端的网页请求分发到server pool资源中
  2. 负载均衡能够检查资源池中server的健康状态,自动隔离状态异常的server(健康状态)

    负载均衡模块

七层负载均衡实验

负载均衡算法

轮询
加权轮询
源哈希ip_hash
fair
url_hash