标签:code 文件的 字符串匹配 重定向 反向 ace error 结构 redirect
字符串匹配情况
location /name/ {
proxy_pass http://127.0.0.1/remote/;
}
proxy指定了uri,uri将会被代替,请求http://127.0.0.1/name/则实际请求的是http://127.0.0.1/remote/
location /name/ {
proxy_pass http://127.0.0.1;
}
proxy没有指定uri,则会继承,请求http://127.0.0.1/some/path/,匹配后实际请求的也是http://127.0.0.1/some/path/
使用 = ~ ~* ^~ 做模式匹配
proxy不能指定uri,否则语法报错,则他一定会继承下去
重新定义或者附加请求头到后端真实服务器
默认只有两个字段
proxy_set_header Host $proxy_host;
proxy_set_header Connection close;
后端真实服务器获取客户端ip
在代理服务器加:
proxy_set_header X-Real-IP $remote_addr;
并在后端nginx的http模块中加
set_real_ip_from 代理服务器的ip;
在http下添加upstream:
upstream webservice {
ip_hash #会话保持,默认为加权轮询,还有least_conn最小连接算法
server 127.0.0.1:44 weight=1;
server 127.0.0.1:55 weight=2;
server 127.0.0.1:66 backup; #不能与ip_hash公用
}
在server下增加location:
location /class/ {
proxy_pass http://webservice;
}
context::http
参数
proxy_cache_path /var/log/nginx/cache levels=1:2:1 keys_zone=frist:20m max_size=500m;
核实是否缓存命中
在http加入add_header X-Cache $upstream_cache_status
可在response headers中查看,miss为为命中,HIT为命中
注意:
Syntax: if (condition) { ... }
Context:server, location
conditioni可以有:
Syntax: rewrite regex replacement [flag];
Context: server, location, if
[flag]
last 本次重写完成之后,重启下一轮检查。目录结构相同会出现循环,循环10次,报500error
break 本次重写完成之后,直接执行后续操作。解决重新发生请求时出现循环的问题
redirect 临时重定向
permanent 永久重定向
标签:code 文件的 字符串匹配 重定向 反向 ace error 结构 redirect
原文地址:https://www.cnblogs.com/zoer/p/13019127.html