Location正则案例 示例: #优先级1,精确匹配,根路径 location =/ { return 400; } #优先级2,以某个字符串开头,以av开头的,优先匹配这里,区分大小写 location ^~ /av { root /data/av/; } #优先级3,区分大小写的正则匹配,匹配/media*****路径 location ~ /media { alias /data/static/; } #优先级4 ,不区分大小写的正则匹配,所有的****.jpg|gif|png 都走这里 location ~* .*\.(jpg|gif|png|js|css)$ { root /data/av/; } #优先7,通用匹配 location / {32、限流怎么做的? Nginx限流就是限制用户请求速度,防止服务器受不了 限流有3种 正常限制访问频率(正常流量) 突发限制访问频率(突发流量) 限制并发连接数 Nginx的限流都是基于漏桶流算法,底下会说道什么是桶铜流 实现三种限流算法 1、正常限制访问频率(正常流量): 限制一个用户发送的请求,我Nginx多久接收一个请求。 Nginx中使用ngx_http_limit_req_module模块来限制的访问频率,限制的原理实质是基于漏桶算法原理 来实现的。在nginx.conf配置文件中可以使用limit_req_zone命令及limit_req命令限制单个IP的请求处理 频率。 1r/s代表1秒一个请求,1r/m一分钟接收一个请求, 如果Nginx这时还有别人的请求没有处理完,Nginx 就会拒绝处理该用户请求。 2、突发限制访问频率(突发流量): 限制一个用户发送的请求,我Nginx多久接收一个。 上面的配置一定程度可以限制访问频率,但是也存在着一个问题:如果突发流量超出请求被拒绝处理, 无法处理活动时候的突发流量,这时候应该如何进一步处理呢? Nginx提供burst参数结合nodelay参数可以解决流量突发的问题,可以设置能处理的超过设置的请求数 外能额外处理的请求数。我们可以将之前的例子添加burst参数以及nodelay参数: return 403; } Nginx配置高可用性怎么配置? 当上游服务器(真实访问服务器),一旦出现故障或者是没有及时相应的话,应该直接轮训到下一台服务 器,保证服务器的高可用 Nginx配置代码: server {38、Nginx怎么判断别IP不可访问? 39、怎么限制浏览器访问? 40、Rewrite全局变量是什么? listen 80; server_name www.lijie.com; location / { ### 指定上游服务器负载均衡服务器 proxy_pass http://backServer; ###nginx与上游服务器(真实访问的服务器)超时时间 后端服务器连接的超时时间_发起握手 等候响应超时时间 proxy_connect_timeout 1s; ###nginx发送给上游服务器(真实访问的服务器)超时时间 proxy_send_timeout 1s; ### nginx接受上游服务器(真实访问的服务器)超时时间 proxy_read_timeout 1s; index index.html index.htm; } } Nginx怎么判断别IP不可访问? # 如果访问的ip地址为192.168.9.115,则返回403 if ($remote_addr = 192.168.9.115) { return 403; } 怎么限制浏览器访问? ## 不允许谷歌浏览器访问 如果是谷歌浏览器返回500 if ($http_user_agent ~ Chrome) { return 500; }