跨域请求nginx报错:
has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’
在server 块中,添加以下配置:
#允许跨域请求的域, * 代表所有
add_header ‘Access-Control-Allow-Origin’ *;
#允许带上cookie请求
add_header ‘Access-Control-Allow-Credentials’ ‘true’;
#允许请求的方法,比如 GET/POST/PUT/DELETE
add_header ‘Access-Control-Allow-Methods’ *;
#允许请求的header
add_header ‘Access-Control-Allow-Headers’ *;
静态资源防盗链:
valid_referers *.a.com ;
if ($invalid_referer){
return 403;
}
代表只有 a.com域名下的地址才能访问
负载均衡:
#配置上游服务器
不配置 weight时,默认值相同也就是轮询算法
配置weight ,采用权重
upstream tomcatspro {
server 47.94.230.58:8080 weight=1;
server 127.0.0.1:8081 weight=3;
}
server {
listen 80;
server_name shop.natappfree.cc;
location / {
proxy_pass http://tomcatspro;
}
}
负载均衡ip_hash
ip_hash 可以保证用户可以请求到上游服务器中的固定的服务器,前提是用户的IP没有发生更改。
使用ip_hash 的注意点: 如果服务需要短暂的移除,只能标记为down
负载均衡 url_hash 与 least_conn
url_hash 每次根据请求的url地址,hash后访问固定的服务器节点。
least_conn 优先分配给连接数最少的上有服务器。
upstream 指令参数 max_conns
用于限制每台server的连接数,用于保护避免过载,可起到限流作用。配置如下
upstream 指令参数 down、backup
down 用于标记服务点不可用
backup 表示当前服务器节点是备用机,只有在其他服务器都宕机之后,自己才会加入集群中,被用户访问到;backup参数不能使用在hash和random load balancing中
upstream指令参数 max_fails、fail_timeout
max_fails:表示失败几次,则标记server已宕机,剔出上游服务。
fail_timeout:表示失败的重试时间:
max_fails=2 fail_timeout=15s
则代表在15秒内请求某一server失败达2次后,则认为该server已经挂了或者宕机了,随后再过15秒,这15秒内不会有新的请求到达刚刚挂掉的节点上,而是会请求到正常运作的server,15秒后会再有新请求尝试连接挂掉的server,如果还是失败,重复上过程,直到恢复。
Keepalived 提高吞吐量
keepalived:设置长连接处理的数量
proxy_http_version:设置长连接http版本1.1
proxy_ser_header:清除connection header信息