需求 需要根据用户的真实 IP 进行限制, 但是 NGINX 前边还有个 F5, 导致 deny 指令不生效. 阻止用户的真实 IP 不是 192.168.14.* 和 192.168.15.* 的访问请求. 实现 最简单的实现如下: :notebook: 前置条件: 需要 nginx 前边的 lo
在很多公司中,IT、数据中心、业务系统一出故障,会有很多人被叫到作战室(就是一个为了解决该问题,而把所有相关人员集中在一起的一个会议室), 但是对于这个问题他们是否可以修复, 是否他们应该负有责任, 经常没有线索. 「证据」(基础架构监控数据, 日志文件, 用户投诉等等) 表明了症状, 但是与 ro
背景 前两章中我们将应用部署到了 k8s 中,同时不同的服务之间也可以通过 service 进行调用,现在还有一个步骤就是将我们的应用暴露到公网,并提供域名的访问。 这一步类似于我们以前配置 Nginx 和绑定域名,提供这个能力的服务在 k8s 中成为 Ingress。 通过这个描述其实也能看出 I
开源之所以在软件开发中大量使用的原因是它提供了经过良好测试的构建块,可以加速复杂应用程序和服务的创建。但是第三方软件组件以及包和容器的便利性同时也带来了风险——软件供应链攻击。 软件供应链攻击日益普遍,Gartner 将其列为2022 年的第二大威胁。Gartner 预测,到 2025 年,全球 4
就像人际关系中人与人之间的关系一样,软件生态系统中包含一个庞大的关系网络。其中一些联系非常深入,而有一些关系则更为表面。但实际上,现代基于开源的软件开发涉及一个极其庞大的依赖关系树,依赖关系层层叠加,同时涉及和包含已知或未知的风险。 Endor Labs 最近的一份报告发现,95% 的易受攻击的依赖
在过去的几年中,企业一直忙于应对远程办公模式下的安全要求。展望2023年,疫情局面将与过去3年大不相同。根据目前的趋势,未来一年的网络攻击的数量和严重程度都将增加,这将对各规模企业,尤其是未做好准备的企业产生重大影响。本文将结合 BlackBerry 2022威胁报告的关键结果,谈谈 CISO 们在
在之前的文章中,我们已经充分了解了应用部署的4种常见模式(金丝雀部署、蓝绿部署、滚动部署及影子部署)。随着云原生技术逐步成熟,企业追求更为灵活和可扩展的系统,微服务架构大行其道。 微服务固然有诸多优点,但也给架构及运维工程师带来了新的挑战。在单体架构中,应用的设计、部署以及扩展都是作为一个单元进行,
想要在团队中处理代码时有效协作并跟踪更改,版本控制发挥着至关重要的作用。Git 是一个版本控制系统,可以帮助开发人员跟踪修订、识别文件版本,并在必要的时候恢复旧版本。Git 对于有一定编程经验的用户来说虽然不算太难,但是想要玩转一些高级功能也并不是件容易的事情。在这篇文章中,我将向你展示一些最实用的
在之前的文章中,我们了解了应用部署的阶段以及常见的部署模式,包括微服务架构的应用应该如何部署等基本内容。本篇文章将介绍如何安全地部署应用程序。 安全是软件开发生命周期(SDLC)中的关键部分,同时也需要成为 SDLC 中每个环节的一部分,尤其是部署。因此,保障应用部署安全并不是开始于部署阶段,而是从
在上一篇文章中,我们介绍了企业云业务的成本构成以及目前面临的成本困境,以及当前企业逐步转向 FinOps 的行业趋势,这篇文章我们将详细聊聊 FinOps,包括概念、重要性以及成熟度评价指标。 随着对云服务和供应商的使用越来越多,可能会出现复杂性和管理上的挑战,导致成本超支和其他问题。曾在2018年
在之前的文章中,我们详细介绍了平台工程的基本内容,文中指出平台团队应该采用产品的方法构建内部开发者平台,即 Platform as a Product。 内部平台面向的用户则是企业内其他部门的开发人员,因此如果要充分体现平台及平台团队的价值,那么打造优质的开发者体验(Developer Experi
在之前的文章中,我们熟悉了平台工程的基本概念,包括平台工程的特点、主要优势以及实践原则。通过了解我们不难发现,平台工程与 DevOps 还是有许多相似之处的。例如这两者都是一种文化和方法,旨在通过自动化、自治和协作来简化开发过程。同时,DevOps 与 平台工程都致力于提高软件交付的质量和速度,以及
在之前的文章中,我们了解了内部开发者门户的基本概念。内部开发者是一个自助应用程序和数据存储,是一个集中的枢纽,为开发及管理人员提供对各种工具、资源、文档和工作流程的访问。那么今天的文章将带你了解企业如何构建内部开发者门户。 为什么要构建内部开发者门户 随着软件系统变得越来越复杂和分布式,特别是采用基
在 JavaScript 中,无论是新手还是专家都可能在命令行中使用过 NPM。在本篇文章中,我将会整理超实用的 NPM 命令、快捷方式及技巧,帮助 JavaScript 开发人员提高生产力和效率。 在这篇文章中,我们将涵盖以下主题: npm 的定义。 使用 npm 包管理系统管理应用程序依赖项,来
平台工程是一种新兴的技术方法,可以加速应用程序的交付和产生商业价值的速度。平台工程通过提供具有自动化基础设施操作的自助服务能力,改善开发者的体验与生产力,同时降低操作的复杂性,并缓解了开发过程中的摩擦。 当然,**平台工程不仅仅是关于工具与技术,还需要企业在文化和工作方式上进行转变**。因为平台工程
在 Windows 操作系统中,任务栏是一个非常重要的工具栏,用来显示当前正在运行的程序和任务。如果同时运行了很多程序,任务栏上的图标就会变得非常拥挤,不方便管理和切换。为了提高工作效率,可以通过任务视图来将这些运行程序分组,以便更好地管理和切换。 任务视图是 Windows 操作系统中的一个功能,
周末聚餐是生活中的一种美好体验,大家可以围坐在餐桌旁,品尝各式佳肴,畅谈人生、工作、兴趣等话题。而这次聚餐中,商家还送了一些小玩具在餐桌上,增添了许多童真和快乐。 可是,我们在享受美食和欢声笑语的同时,也有些隐忧。果不其然,我把一个小玩具放在餐桌旁,本来想着吃完饭收拾好了再带回家送给娃的,但最后不知
在数学中,线性关系和非线性关系是描述两个变量之间函数关系的两种不同类型。 线性关系是指两个变量之间可以用一条直线来表示的关系。具体来说,如果存在一个一次函数 y = kx + b,其中k和b是常数,使得对于每一个x的值,都有唯一的y值与之对应,那么这两个变量之间就是线性关系。例如,如果x表示时间,y
`DataTable.AcceptChanges`方法是一个用于`DataTable`对象的方法,它将所有对`DataTable`进行的更改标记为已接受。这意味着所有新增、修改和删除的行都将被标记为`DataRowState.Unchanged`,并且`DataTable`对象的`HasChange
运行书中自带光盘中的程序,在该程序的readme说明中,提到这类错误,解决方式是: 因为是免安装程序,需要运行“setup”文件夹下的setup.exe文件,安装控件。在安装完成后,运行开发资源库程序,控件注册错误问题解决。 但是我这里运行完成后,发现依然有报错“flash8.ocx或其附件之一不能