反向代理
proxy_pass http://baidu.com;
基于反向代理的负载均衡
负载均衡策略
轮询
默认情况下使用轮询方式,逐一转发,这种方式适用于无状态请求。
weight(权重)
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
- down:表示当前的server暂时不参与负载
- weight:默认为1,weight越大,负载的权重就越大。
- backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。
ip_hash
根据客户端的ip地址转发同一台服务器,可以保持回话。
least_conn
最少连接访问
url_hash
根据用户访问的url定向转发请求
fair
根据后端服务器响应时间转发请求
动静分离
配置反向代理
- 增加每一个location
- 使用一个location
使用正则
location 前缀
/
通用匹配,任何请求都会匹配到。
=
精准匹配,不是以指定模式开头
~
正则匹配,区分大小写
~*
正则匹配,不区分大小写
^~
非正则匹配,匹配以指定模式开头的location
location匹配顺序
- 多个正则location直接按书写顺序匹配,成功后就不会继续往后面匹配
- 普通(非正则)location会一直往下,直到找到匹配度最高的(最大前缀匹配)
- 当普通location与正则location同时存在,如果正则匹配成功,则不会再执行普通匹配
- 所有类型location存在时,“=”匹配 > “^~”匹配 > 正则匹配 > 普通(最大前缀匹配)
alias与root
root用来设置根目录,而alias在接受请求的时候在路径上不会加上location。
- alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是在alias目录下查找的;
- root指定的目录是location匹配访问的path目录的上一级目录,这个path目录一定要是真实存在root指定目录下的;
- 使用 alias标签的目录块中不能使用rewrite的break(具体原因不明);另外,alias指定的目录后面必须要加上"/"符 号!!
- alias虚拟目录配置中,location匹配的path目录如果后面不带"/",那么访问的url地址中这个path目录后 面加不加"/"不影响访问,访问时它会自动加上"/"; 但是如果location匹配的path目录后面加上"/",那么访问的url地 址中这个path目录必须要加上"/",访问时它不会自动加上"/"。如果不加上"/",访问就会失败!
- root目录配置 中,location匹配的path目录后面带不带"/",都不会影响访问。
UrlRewrite
rewrite语法格式及参数语法:
实例
同时使用负载均衡
应用服务器防火墙配置
- 开启防火墙
- 重启防火墙
- 重载规则
- 查看已配置规则
- 指定端口和ip访问
网关配置
防盗链配置
- none, 检测 Referer 头域不存在的情况。
- blocked,检测 Referer 头域的值被防火墙或者代理服务器删除或伪装的情况。这种情况该头域的值不以 “http://” 或 “https://” 开头。
- server_names ,设置一个或多个 URL ,检测 Referer 头域的值是否是这些 URL 中的某一个。
在需要防盗链的location中配置
使用curl测试
带引用
还不快抢沙发