博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
页面接口防刷 解决思路一nginx
阅读量:6149 次
发布时间:2019-06-21

本文共 1092 字,大约阅读时间需要 3 分钟。

hot3.png

线上环境 很多接口 如果不做缓存 可能导致有人拿到url  每秒几万次的访问后台程序,导致系统down机.

此处, nginx可以加一层缓存.   

expires起到控制页面缓存的作用,合理的配置expires可以减少很多服务器的请求

要配置expires,可以在http段中或者server段中或者location段中加入
PS. 可以限制单个接口的访问

location ~ ^/user/ {

proxy_pass http://user.example.com;

expires 1; //1h //1d //expires max; 部分文件看需要可以永久 }

nginx wiki
 

语法: expires [time|epoch|max|off]

默认值: expires off

作用域: http, server, location

使用本指令可以控制HTTP应答中的“Expires”和“Cache-Control”的头标,(起到控制页面缓存的作用)。

可以在time值中使用正数或负数。“Expires”头标的值将通过当前系统时间加上您设定的 time 值来获得。

epoch 指定“Expires”的值为 1 January, 1970, 00:00:01 GMT。

max 指定“Expires”的值为 31 December 2037 23:59:59 GMT,“Cache-Control”的值为10年。

-1 指定“Expires”的值为 服务器当前时间 -1s,即永远过期

“Cache-Control”头标的值由您指定的时间来决定:

  • 负数:Cache-Control: no-cache
  • 正数或零:Cache-Control: max-age = #, # 为您指定时间的秒数。

"off" 表示不修改“Expires”和“Cache-Control”的值

demo:

控制图片等过期时间为30天,当然这个时间可以设置的更长。具体视情况而定

比如

location~ \.(gif|jpg|jpeg|png|bmp|ico)$ {

           expires 30d;

       }

控制匹配/resource/或者/mediatorModule/里所有的文件缓存设置到最长时间

比如

      

       location ~ /(resource|mediatorModule)/ {

                root    /opt/demo;

                expires max;

        }

另附其他方案: nginx webcache配置

转载于:https://my.oschina.net/u/182501/blog/913284

你可能感兴趣的文章
ajax查询数据库时数据无法更新的问题
查看>>
Kickstart 无人职守安装,终于搞定了。
查看>>
linux开源万岁
查看>>
linux/CentOS6忘记root密码解决办法
查看>>
25个常用的Linux iptables规则
查看>>
集中管理系统--puppet
查看>>
分布式事务最终一致性常用方案
查看>>
Exchange 2013 PowerShell配置文件
查看>>
JavaAPI详解系列(1):String类(1)
查看>>
HTML条件注释判断IE<!--[if IE]><!--[if lt IE 9]>
查看>>
发布和逸出-构造过程中使this引用逸出
查看>>
Oracle执行计划发生过变化的SQL语句脚本
查看>>
使用SanLock建立简单的HA服务
查看>>
发现一个叫阿尔法城的小站(以后此贴为我记录日常常用网址的帖子了)
查看>>
Subversion使用Redmine帐户验证简单应用、高级应用以及优化
查看>>
Javascript Ajax 异步请求
查看>>
DBCP连接池
查看>>
cannot run programing "db2"
查看>>
mysql做主从relay-log问题
查看>>
Docker镜像与容器命令
查看>>