您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > WEB API设计、分布式锁、应用防火墙、redis事件通知机制等优化方案
技术优化方案guooo2017-09-0716:00—1700前人的思考,我们的阶梯!提纲•WebApplicationFirewall【WAF】•动静分离•页面静态化•文件同步•分布式锁•事件失效通知•API安全验证WebApplicationFirewall•Web防火墙,主要是对Web特有入侵方式的加强防护,如DDOS防护、SQL注入、XML注入、XSS等。由于是应用层而非网络层的入侵,从技术角度都应该称为WebIPS,而不是Web防火墙。这里之所以叫做Web防火墙,是因为大家比较好理解,业界流行的称呼而已。由于重点是防SQL注入,也有人称为SQL防火墙。•ngx_lua_waf是一款开源的基于ngx_lua的web应用防火墙,github地址是•Web防火墙,主要是对Web特有入侵方式的加强防护,如DDOS防护、SQL注入、XML注入、XSS等。由于是应用层而非网络层的入侵,从技术角度都应该称为WebIPS,而不是Web防火墙。这里之所以叫做Web防火墙,是因为大家比较好理解,业界流行的称呼而已。由于重点是防SQL注入,也有人称为SQL防火墙。•ngx_lua_waf是一款开源的基于ngx_lua的web应用防火墙,github地址是动静分离•nginx处理静态页面效率远高于tomcat,让擅长的服务处理擅长的事,才能发挥其最大效用。•将静态文件内容存储到nginx指定的路径,包括但不限于js/css/png/xls/tff等静态资源•将动态class/xml配置文件等存储到tomcat指定的路径,注意:nginx与tomcat存储的路径下目录的名称要保持一致,比如都是yuegeche-web,否则会请求不到后端的请求。页面静态化处理•配置静态化数据表,包含主键、产品编号、产品静态页地址、更新时间、状态等信息。•每次读取产品详情信息,依据模板vm文件,生成纯静态文件存放于指定位置(需要同步到nginx目录,由nginx处理静态化内容)•路径管理:生成静态化文件过程中,考虑系统目录文件数量的限制,目录文件容量1024个,共1024x1024x1024文件限制linuxServer文件同步•rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。•inotify是Linux内核2.6.13以后支持的一种特性,功能是监视文件系统的变化,在监视到文件系统发生变化以后,会向相应的应用程序发送变化事件。•rsync+inotify+expectlinuxServer文件同步•rsync+inotify•rsync+inotify+expect•sersync+rsync分布式锁•在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等。•基于DB实现,updatetb_namesetA=1whereA=0,效率比较低•其它方式•zookeeper•memcache•redis分布式锁•SETNX•EXPIRE,不标记ttl,容易造成死锁•MULTI,开启事务事件失效通知机制API安全设计•访客日志记录?•白名单、黑名单•合法性•防篡改•重放攻击•调用频率、总量限制•https安全传输•敏感数据加密、脱敏API安全设计方案•OAuth2•SESSION,COOKIE•JWT•SpringSecurity,ApacheShiro重在实践•实践过的往往记的很深刻More......
本文标题:WEB API设计、分布式锁、应用防火墙、redis事件通知机制等优化方案
链接地址:https://www.777doc.com/doc-3368587 .html