openresty

记一次被DDoS敲诈的历程

大憨熊 提交于 2020-11-01 20:40:15
0×01 背景 之前一个蜀国的朋友业务被DDOS攻击,业务服务被机房断网,客户单流失有经济损失,这篇具体说的就是这件事情。 背景是这样,一个朋友网站业务被DDoS了,先是威胁要800元RMB,然后又转成提供DDOS的服务,然后又变成了DDOS培训, 又变成了卖DDOS软件,最后又变成了DDOS高防测试提供者,最后到警察叔叔那里,报警立案成功的故事。 采用高仿系统对于防护ddos问题当然有效,但也要注意误拦行为对用户订单的影响。每个公司的具体情况是不一样的,解决问题也要有具体的针对性,比如当机房不是自己的,路由防火墙设备不是自己控制的,无法从类似设备上取得第一手流量信息时(如果能用SNMP),如何处理。当CDN是第三方提供,不能进行黑名单阻断设置等各种情况下,又如何处理。 0×02 来自黑客的威胁 就在这几天,一个朋友传来了他被DDoS的消息,正在搬砖中看到他发的消息,说他们的客服收到到0118号客人的威胁信息,说要马上干掉你们。 这位朋友可能见过大场面的人,这点威胁就能吓倒他吗, 太天真了。 大家可看看下面这个图。 看到上面这个流量激增你们也能看出来,之后服务器真的就挂了,真的挂了,挂了。 这位朋友默默的看了眼高仿的价格,这个价格再次击穿了他的心里防线。 我买,我买, 我买不起。买不起是开玩笑,但这也太贵了。 不过这个时候这位朋友想起来了,客服留言中的那个黑客微信联系方式,

世界上最好的语言搭建短链接及统计功能(附API代码)

时光总嘲笑我的痴心妄想 提交于 2020-10-30 16:02:45
前言 在这个营销的时代,短链接和二维码是企业进行营销中非常重要的工具,不仅仅是缩短了链接,而且还可以通过扩展获得更多的数据,诸如点击数、下载量、来源以及时间等等。 网上搜寻了一下比较有名有U.NU和0x3.me,但前者只能统计点击次数,而且不能修改链接,后者功能丰富,但确是收费商业网站。 环境搭建 本安装指南将帮助您安装Polr 2.0的最新版本Polr 2.0。Polr 是一个开源软件、世界上最好的语言,功能还算强大。 功能包括 修改缩短的域名 统计功能(来源,时间) API支持 二维码生成 服务器要求 Apache, nginx, IIS, or lighttpd (Apache preferred) PHP >= 5.5.9 MariaDB or MySQL >= 5.5, SQLite alternatively composer PHP requirements: OpenSSL PHP Extension PDO PHP Extension PDO MySQL Driver (php5-mysql on Debian & Ubuntu, php5x-pdo_mysql on FreeBSD) Mbstring PHP Extension Tokenizer PHP Extension JSON PHP Extension PHP curl extension 安装PHP

Mac下使用ABTestingGateway快速搭建灰度网关

穿精又带淫゛_ 提交于 2020-10-29 04:55:53
ABTestingGateway简介 ABTestingGateway 是新浪开源的一个可以动态设置分流策略的灰度发布系统,工作在7层,基于nginx和ngx-lua开发,使用 redis 作为分流策略数据库,可以实现动态调度功能。 nginx是目前使用较多的7层服务器,可以实现高性能的转发和响应;ABTestingGateway 是在 nginx 转发的框架内,在转向 upstream 前,根据 用户请求特征 和 系统的分流策略 ,查找出目标upstream,进而实现分流。 环境搭建 1.安装openresty 其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒杀、动态服务、单品页、列表页等都在使用Nginx+Lua架构,其他公司如淘宝、去哪儿网等。 安装命令: brew install openresty brew默认将openresty安装在 /usr/local/Cellar/openresty/ 目录下 2.安装luajit JIT = Just In

京东大牛呕心沥血十三年“史诗级著作”亿级流量架构核心技术

不问归期 提交于 2020-10-23 04:46:56
什么才是互联网时代的数据库架构模式? DBA在未来技术发展中的角色和定位如何?在过去的十三年里,为了满足京东业务的迅速发展,数据库架构也在不断地改进和优化。数据库类型也经历了从商业数据库到开源数据库(例如MySQL、MongoDB等),再到自主研发的JED弹性数据库的转变。一路走来, 数据库规模不断扩大,高并发、高可用架构也由单机房部署到多机房部署并实现异地多活,数据库架构由传统主从发展为可动态扩展的弹性数据库,数据库运维工作由手动运维发展为自动化、智能化运维。 很幸运地在加入京东,更加幸运地遇到了一批优秀的同事, 在接下来的4年半的时间里,兄弟们并肩作战,自主研发并持续建设了一系列核心基础架构系统。我们将这几年的工作成果及经验整理总结,写在笔记中分享出来,希望能给大家带来收获! 京东基础架构建设之路‍ 内容简介 本书内容涵盖容器集群、数据库、分布式存储、服务框架、消息队列、异地多活、机器学习等一系列经典技术话题, 深入浅出地向读者展示了京东基础架构的搭建、 演进、变革及发展的完整画像,系统地阐述了京东重要阶段的技术进步历程及里程碑级别的技术突破,堪称是一部“从入门到精通”的基础架构经典教材。 第1章容器集群技术 京东快速发展的同时,应用规模、数据中心以及机器的规模都同步倍增,在用户愉快买卖的背后,有基础平台在保驾护航。面对如此大规模的机器,京东数据中心操作系统( JDOS,

Crontab&自动清除日志

让人想犯罪 __ 提交于 2020-10-21 14:13:47
前情提要 由于某些服务日志日积月累生成很多的日志,所以需要定期的需要进行清除,保证磁盘空间,废话不多说,直接开始 1.编写脚本shell脚本 #vim auto-clear-log.sh #输入以下内容 #!/bin/sh log_path=/usr/local/openresty/nginx/logs/ #echo ${log_path} find ${log_path} -mtime +30 -name "*.log" -exec rm -rf {} \; #保存退出 #命令解释 #find:linux的查找命令,用户查找指定条件的文件; #/usr/local/openresty/nginx/logs/:想要进行清理的任意目录; #-mtime:标准语句写法; #+30:查找30天前的文件,这里用数字代表天数; "*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三; #-exec:固定写法; #rm -rf:强制删除文件,包括目录; #{} \; :固定写法,一对大括号+空格+\+; 2.给予执行权限 chmod +x auto-clear-log.sh 3.加入定时任务 #crontab -e # auto clear log 10 0 * * * /home/scripts/auto

Linux下nginx的yum安装、源码安装、OpenResty的源码安装

自作多情 提交于 2020-10-11 11:27:34
Linux下nginx的安装 安装环境: # cat /proc/version Linux version 3.10.0-123.el7.x86_64 ( builder@kbuilder.dev.centos.org ) ( gcc version 4.8.2 20140120 ( Red Hat 4.8.2-16 ) ( GCC ) ) #1 SMP Mon Jun 30 12:09:22 UTC 2014 # cat /etc/redhat-release CentOS Linux release 7.6.1810 ( Core ) yum安装 设置yum仓库地址 vi /etc/yum.repos.d/nginx.repo : [ nginx-stable ] name = nginx stable repo baseurl = http://nginx.org/packages/centos/ $releasever / $basearch / gpgcheck = 1 enabled = 1 gpgkey = https://nginx.org/keys/nginx_signing.key module_hotfixes = true 使用yum安装: # yum install -y nginx 安装完成后配置文件所在目录为 /etc/nginx 。

网关我选 Spring Cloud Gateway

不想你离开。 提交于 2020-10-11 02:43:51
网关可提供 请求路由与组合 、 协议转换 、 安全认证 、 服务鉴权 、 流量控制 与 日志监控 等服务。可选的网关有不少,比如 Nginx、高性能网关 OpenResty、Linkerd 以及 Spring Cloud Gateway。 如果是真的追求高性能,那肯定是选择 Nginx 或者 OpenResty 无疑了, 但是对性能要求不是很高的话,并且又在用 Spring Cloud 系列,那当然就要选择 Spring Cloud Gateway 了。 网关的基础就是路由功能,通俗解释就是地址转发,将一个请求地址转发到实际的服务地址。比如请求的是 http://xxx.com/api 的路由地址,实际上会被转发到 http://xxx.com:8888 上来,这就是个最简单的路由方式。 我们可以理解为 Spring Cloud Gateway 就是针对进来的请求做各种判断和处理,比如说判断请求的合法性、权限验证,请求地址改写,请求参数、头信息、cookie 信息的分析和改写,请求速率控制,日志留存等。而这些都可以方便的通过 Predicate 和 GatewayFilter 来组合实现。 创建 Spring Cloud Gateway 项目 Spring Cloud 版本是 Greenwich.SR2,Spring Boot 版本 2.1.6.RELEASE,JDK 1.8。

京东高级工程师开发十年,编写出:“亿级流量网站架构核心技术”

坚强是说给别人听的谎言 提交于 2020-09-30 16:45:47
前言: 相信大家都知道,说起亿万流量网站高性框架的设计方案,就能想到关键的两点,那就是高可用和高并发。而要谈对高并发和高可用有多熟悉,京东的大佬们还是有一定发言权,而作为京东高级工程师更是大佬级别。 而今天分享的正是京东十年开发经验工程师编写的:“亿级流量网站架构核心技术”。 笔记作者: 京东高级工程师:张开涛 笔记特点: 条理清晰,含图像化,内容创新深奥却易懂。 笔记大致分为四部分∶ 概述、高可用原则、高并发原则、案例实战。 从负载均衡、限流、降级、隔离、超时与重试、回滚机制、压测与预案、缓存、池化、异步化、扩容、队列等多方面详细地介绍了亿级流量网站的架构核心技术,相信大家看完能快速在实践中加以运用。 话不啰嗦直上笔记: 特别说明:由于笔记内容过于详细,苦于篇幅有限,下面只能将这份文档的内容以图片的形式展现出来,如果你需要“高清完整的pdf版”,文末有免费领取方式 第1 部分 概述: 1. 交易型系统设计的一些原则 2. 高并发原则 无状态 拆分 服务化 消息队列 数据异构 缓存银弹 并发化 3. 高可用原则: 降级 限流 切流量 可回滚 4.业务设计原则: 防重设计 幂等设计 流程可定义 状态与状态机 后台系统操作可反馈 后台系统审批化 文档和注释 备份 第2 部分 高可用: 1.负载均衡与反向代理: upstream配置 负载均衡算法 失败重试 健康检查 其他配置 长连接 H

OpenResty 教程

你。 提交于 2020-08-18 21:16:11
OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。 在游戏服务器里,OpenResty一般担任网关的角色,但是我想用OpenResty 来作为http服务器,以应付sdk登录、sdk支付。 下面是我整理的OpenResty教程。 1.OpenResty 简介 https://www.thisisgame.com.cn/openresty/openresty-tutorial.html 2.OpenResty Ubuntu18.04 安装教程 https://www.thisisgame.com.cn/openresty/ubuntu18-0-4-install-openresty.html 3.OpenResty 第一个例子 helloworld https://www.thisisgame.com.cn/openresty/openresty-hello-world.html 4.OpenResty 目录结构 https://www.thisisgame.com.cn/openresty/openresty-directory-structure.html 5.OpenResty 启动和关闭

nginx简介(二)

ε祈祈猫儿з 提交于 2020-08-17 17:47:51
1.Nginx优点: A、高并发、高性能 高并发往往只需要每个连接所使用的内存尽量的少就能做到,而再高并发的同时达到高性能往往需要很好的设计。Nginx使主流服务器可以轻松达到数千万的并发连接,如果是处理简单的静态资源请求,可以达到一百万的RPS这种级别。 B、可扩展性好 主要体现再它的模块化设计,模块设计得非常稳定,使得nginx的第三方模块生态圈非常丰富,甚至有Tengine、OpenResty这样独立门户出来,又生成新的生态圈的插件。丰富的生态圈为Nginx丰富的功能提供了保证。 C、可靠性高 Nginx可以在服务器上持续不间断地运行数年,而很多web服务器往往运行几周或几个月就需要进行一次重启。对于Nginx这样的高并发、高性能的反向代理服务器而言,它往往运行在企业内网的边缘节点上,这个时候如果我们企业想要提供4个9、5个9、甚至更高的高可用性时,Nginx就能满足此需求。 D、热部署 Nginx可以在不停止服务的情况下进行升级。这可以避免操作系统向客户端发送大部分客户端难以处理的复位请求。 E、BSD许可证 Nginx不只是开源的、免费的,而且我们在有定制需求的场景下,去修改Nginx的源代码,应用在我们的商业场景下,这是合法的。 功能强大: 1)可以实现网站服务功能 替代:apache 2)可以实现负载功能 t替代 L:VS haproxy 3)可以实现缓存功能 替代: