03.反向代理
[toc]{type: “ol”, level: [2, 3, 4, 5]}
nginx的日志
remote_addr 访问ip地址
remote_user 访问的用户
time_local 本地时间
request 包括请求方式 请求地址 请求协议版本
status 状态码
body_bytes_sent 发送的大小
http_user_agent 用户的请求头
http_x_forwarded_for
禁止访问
可以写在server或者location里面
deny 192.168.21.1;
allow 192.168.21.131;
deny 192.168.21.0/24;
反向代理
起到保护网站安全的作用
可以缓存静态文件
实现负载均衡 F5 A10 lvs haproxy nginx
upstream django {
server 192.168.21.128:81;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://django;
}
}
权重
weight
upstream django {
server 192.168.21.128:81 weight=3;
server 192.168.21.131:81
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://django;
}
}
# 得到的结果是:
# 访问128的3次,才访问131的一次
ip_hash
每个请求的ip做hash运算,这样每个固定的访客都会被负载到后端固定的机器
upstream django {
ip_hash;
server 192.168.21.128:81
server 192.168.21.131:81
}
backup
当前面的都访问不到,则请求backup的备份,只要有一个通,则不会走backup
upstream django {
server 192.168.21.128:81;
server 192.168.21.131:81;
server 192.168.21.131:82 backup;
}