自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

全栈工程师修炼指南-IT知识分享

本博将持续发布自动化运维、编程开发、网络安全等相关知识文章与相关工作实践脚本工具,记录分享学习历程等,希望大家多多支持。

  • 博客(455)
  • 资源 (1)
  • 收藏
  • 关注

原创 Nginx | HTTP 反向代理:gRPC 高性能远程过程调用(RPC)框架

本文介绍了如何利用Nginx实现gRPC服务的反向代理。首先概述了gRPC作为高性能RPC框架的优势,包括基于Protobuf的高效二进制协议和HTTP/2支持。然后详细演示了使用Python3搭建简易gRPC服务的过程,包括定义proto文件、生成代码、实现服务端和客户端。重点讲解了Nginx的配置方法,通过ngx_http_grpc_module模块实现gRPC请求转发,并验证了反向代理的有效性。文章还提供了完整的代码示例和配置说明,帮助读者快速掌握gRPC服务部署和Nginx反向代理的实践技巧。

2026-01-08 00:03:47 343

原创 Nginx | HTTP 反向代理:WebSocket 实时双向数据传输

本文详细介绍了WebSocket协议的特点及其在Nginx中的反向代理配置方法。首先阐述了WebSocket作为全双工通信协议的优势,包括持久连接、低延迟和高效性。随后通过Python搭建WebSocket服务端示例,演示了如何使用websocat工具进行测试。重点讲解了Nginx反向代理WebSocket的关键配置指令,包括HTTP版本设置和协议头升级。最后提供了完整的Nginx配置示例,涵盖SSL加密支持,并展示了通过JavaScript连接WebSocket的代码实现。文章还推荐了相关技术资源,为开发

2026-01-07 00:02:11 11

原创 Nginx | 核心知识150讲,百万并发下性能优化之其它HTTP框架下反向代理场景

本文深入探讨了Nginx在不同反向代理场景下的应用实践。作者首先系统整理了HTTP、uwsgi、fastcgi和scgi反向代理指令的功能对照表,帮助开发者快速查阅不同场景下的配置方法。随后重点介绍了Nginx的memcached反向代理模块,详细解析了其工作原理、核心指令参数,并提供了完整的Memcached服务搭建和Nginx配置实践案例。通过telnet和curl测试验证了Nginx成功实现了对Memcached协议的反向代理功能。文章最后还介绍了作者的知识星球资源,为开发者提供持续的学习支持。本文内

2026-01-06 17:41:29 603

原创 Nginx | purge 模块:实现清除特定上游服务(后端)响应缓存条目

本文介绍了在Nginx反向代理中清除特定缓存条目的方法。虽然Nginx商业版提供proxy_cache_purge指令,但开源版本可通过第三方ngx_cache_purge模块实现类似功能。文章详细说明了该模块的编译安装步骤、配置指令语法,并通过实践演示展示了如何配置缓存路径、反向代理以及验证缓存清除功能。关键点包括:缓存键必须与原始缓存生成时完全一致;提供了两种配置方式;通过tree命令和X-Cache-Status响应头验证缓存状态;使用curl测试缓存清除效果。该方案适用于需要手动刷新特定缓存内容的场

2025-12-29 00:02:19 332

原创 Nginx | HTTP 反向代理:当缓存失效时如何减轻后端(上游)服务压力?

本文介绍了Nginx反向代理缓存失效时减轻上游服务压力的两种解决方案:1)合并回源请求(使用proxy_cache_lock指令),仅允许第一个请求回源,其余请求等待缓存生成;2)使用过期缓存响应(proxy_cache_use_stale指令),在上游异常时仍返回旧缓存内容。文章详细讲解了相关配置参数,并通过实验演示了如何结合proxy_cache_background_update等指令实现缓存失效时的平滑过渡,有效避免缓存击穿和雪崩效应。这些策略可显著提升系统在高并发场景下的稳定性和可用性。

2025-12-28 00:01:39 951

原创 Nginx | HTTP 反向代理:对上游服务端响应缓存流程浅析与配置实践

温馨提示: 在测试过程中,你将会发现在缓存有效期内,客户端发送的请求并不会被转发到上游服务器中,而是使用缓存数据来响应客户端的请求,这种机制可以减少对上游服务器的访问,另外,在缓存时间内若后端异常对于客户端已缓存的GET请求依然会命中缓存,直到缓存过期后才不再使用。步骤 03.重启 Nginx 服务,使用 curl 命令测试缓存效果,由下图可见,第一次请求未命中缓存,第二次请求则直接从缓存中获取响应,在一分钟后再次请求,缓存过期,此时会将请求到上游,并再次更新缓存,如此循环🔁往复。

2025-12-27 00:52:03 679

原创 Nginx | 核心知识150讲,百万并发下性能优化之前端静态缓存、后端动态缓存实践笔记

本文深入探讨了Nginx缓存技术在Web性能优化中的应用,涵盖前端和后端缓存实现。前端缓存通过HTTP头(Cache-Control、ETag等)、本地存储和Service Worker提升静态资源加载速度;后端缓存利用Nginx反向代理、Redis等减少数据库查询。文章详细解析了Nginx缓存指令配置,并提供了静态资源缓存实践案例,通过合理设置缓存策略可显著提升网站性能、降低服务器负载。最后展示了如何通过curl和开发者工具验证缓存效果,为开发者提供了完整的缓存优化方案。

2025-12-26 23:59:45 760

原创 Nginx | HTTPS 加密传输:Nginx 反向代理与上游服务 SSL 双向认证实践

中,讲解了客户端与 Nginx 服务端双向认证相关指令参数并进行了实践,以保证访问身份验证以及数据安全性,这也是针对某些有点对点通讯安全要求的场景,另外还有一种场景,比如在 Nginx 反向代理中与上游服务端 SSL 双向认证,通常应用于某些敏感的 API 接口,同样为了保证身份合法性和数据传输的安全性,就需要在 Nginx 与上游服务端之间建立双向认证,这将是本小节要讲解的内容。下一章中,作者将对 Nginx 中的客户端,以及上游服务端缓相关指令参数、响应头做介绍与实践,请大家多多关注!

2025-12-20 10:41:04 313

原创 Nginx | HTTPS 加密传输:客户端与Nginx服务端 SSL 双向认证实践

,介绍了如何在 Nginx 中配置 HTTPS 服务端单向认证,即证书配置在服务端,客户端不需要提供证书,但是这样的配置方式存在一定的安全隐患,因为客户端与服务端之间的通信并没有进行双向身份验证,有可能存在中间人攻击和数据泄露等问题。因此,为了保证数据在传输过程中不被泄露和篡改,且应用间的数据传输敏感的场景之下,通常会采用 SSL 双向认证的方式来进行身份验证,简单来说:服务端需要提供CA证书来对客户端证书进行身份验证的过程。指令设置存储用于OCSP验证的客户端证书状态的该高速缓存的名称和大小。

2025-12-19 00:02:03 598

原创 Nginx | 核心知识150讲,百万并发下性能优化之SSL证书签发与HTTPS加密传输实践笔记

命令生成自签证书SSL证书,其不同之处在于,前者 HTTPS 站点在浏览器中访问时,由于颁发的 CA 证书受到系统和浏览器信赖,浏览器不会提示不安全连接,而后者自签的服务端证书,由于不是来自于正规的CA机构签发,所以在在浏览器中访问 HTTPS 站点时,浏览器会提示证书不受信任,但不影响正常使用,可以点击。等经常有多个服务名的应用系统,当然还有一种证书即通配符证书,也是同一张 ssl 证书,可绑定任意的域名服务器证书,在生产环境中使用优势比较突出,只不过通常需要在证书服务商进行购买。

2025-12-18 17:06:45 485

原创 Nginx | HTTP 反向代理:对上游服务端返回响应处理实践

描述:前面已经讲解,客户端 与 Nginx 服务器建立连接,发送请求到 Nginx 服务端,Nginx 服务端再将请求转发给上游服务等相关指令参数,本节将继续讲解如何接收并处理来自上游的HTTP响应的相关指令。此外,Nginx 在启用缓冲的情况下,允许更早地将已接收的部分响应发送给客户端,例如:对于一个 1G 的文件响应,可通过该指令实现边接收边发送,提升用户体验。另外,响应内容在发送给客户端前,还必须经过 Nginx 过滤模块的处理,同样在使用 Nginx 作为反向代理时,上游服务返回的响应头也会被。

2025-12-14 00:02:28 1012

原创 Nginx | HTTP 反向代理:与上游服务端建立连接处理实践

至此,当前阶段已完成 Nginx 于上游服务器连接建立、请求发送,以及连接异常时处理等相关性能指令介绍,并实践了当连接上游异常时自动切换节点,和拦截上游响应错误码实现 error_page 自定义错误,从而有效处理上游故障和不良响应,增强系统的健壮性和透明性,下一节将讲解 Nginx 如何接收并处理来自上游的HTTP响应。默认情况下(off),如果客户端在读取响应之前关闭了连接,Nginx 会立即终止与上游服务器的连接并返回给客户端一个错误,特别注意: 若启用可能增加上游服务器负担,需谨慎使用。

2025-12-13 00:02:18 1050

原创 Nginx | 核心知识150讲,百万并发下性能优化之HTTP协议中反向代理实践笔记

本章将在此基础上,继续讲解 Nginx 反向代理模块相关指令的配置,以及反向代理不同阶段的缓存配置,并针对不同的应用场景做优化配置,提高访问性能,最后通过一些小小案例,让各位看友可快速掌握如何在Nginx配置反向代理,不过在此之前,我们先来复习一下 Nginx 中 HTTP 协议反向代理请求处理流程,以便于对 Nginx 反向代理有更深层次的理解,在后续实践时能与此相互印证。设置阅读客户端请求正文的缓冲区大小。如果设置为 on,则 nginx 将不会在内存中缓存任何部分的正文,而是在磁盘上保存整个正文。

2025-12-12 22:14:58 636

原创 Nginx | 负载均衡策略:最少连接算法实践

模块的文章中,提到过 upstream 模块的子模块是有执行顺序(从上到下的顺序依次执行)的,执行顺序直接影响最终的负载均衡行为;模块将上游服务器状态信息(如连接数、权重、失败次数等)存放在共享内存中,实现多 worker 进程之间的状态同步,同样,该模块已经默认编译进 Nginx ,可通过。最后,以确保其能将前面所有模块定义的状态信息统一迁移至共享内存中,实现了多个 worker 进程之间共享配置和负载均衡状态的能力,提升了集群一致性与可用性。[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ]

2025-12-06 00:03:09 923

原创 Nginx | 负载均衡策略:一致性哈希算法实践

简单来说,新增节点后,只有新增节点周围的键受到影响,其余键的路由保持不变,例如,下图中原5个键均路由至 node 4,其后新增 node 5,通过哈希计算得出其中2个键仍落在 node 4 的管辖范围内,不受影响。另外3个键现在更接近 node 5,因此改由 node 5 处理,所以当未共享缓存时,仅这3个键对应的缓存会失效,不会导致大范围的失效,其余键的缓存继续命中 HITS。》说到,哈希算法在服务器数量变化时导致请求路由失效的问题,为了解决这个问题,一致性哈希算法应运而生。

2025-12-06 00:03:09 705

原创 Nginx | 负载均衡策略:ip_hash / hash 会话保持实践

温馨提示:在 Nginx 中要从代理链(如 CDN、负载均衡器、反向代理)中提取真实的客户端 IP 地址,替换 Nginx 接收到的连接 IP 地址,需使用 set_real_ip_from 指令指定可信代理服务器的 IP 段,并使用 real_ip_header 指令指定包含真实客户端 IP 的 HTTP 头部字段,最后使用 real_ip_recursive 指令启用递归查找真实 IP,相关知识在【负载均衡算法是根据客户端的 IP 地址进行哈希运算,不受权重影响,即使用。

2025-12-05 09:40:15 824

原创 Nginx | 负载均衡策略:round-robin 加权轮询实践

主要涉及全栈工程师(Full Stack Development)实践文章,持续更新包括但不限于企业SecDevOps和网络安全等保合规、安全渗透测试、编程开发、云原生(Cloud Native)、物联网工业控制(IOT)、人工智能Ai,从业书籍笔记,人生职场认识等方面资料或文章。》作者简单介绍了反向代理及其流程,以及负载均衡相关基础知识,本小节将实践讲解缺省的加权的轮询 Round-Robin 负载均衡算法,验证权重、以及失败超时等参数对上游服务器选择的影响,以及上游服务器恢复后的状态。

2025-12-05 09:40:15 1031

原创 Nginx | 核心知识150讲,百万并发下性能优化之反向代理流程与负载均衡模块介绍笔记

趁着大家的学习激情,本章节将继续介绍 Nginx 中比较常用且核心的功能,即反向代理与负载均衡相关知识,本文将先介绍反向代理(七层、四层)与负载均衡的基础知识,再讲解了 Nginx 反向代理中引入负载均衡、以及缓存配置的相关配置指令,最后通过实践案例演示其使用。:又称功能扩展,它是介于X、Y轴之间的扩容方式,要求服务有状态,但不完全等同于垂直拆分,而是在原有基础上增加新的功能模块,可根据用户信息(IP地址、用户名)进行分流将请求转发到某个特定服务或集群上,Nginx 中提供多种基于哈希的负载均衡算法。

2025-12-04 23:34:35 765

原创 Categraf | 国产化采集器实现:SQL Server 数据库指标采集、可视化、异常告警全流程

温馨提示:下面实践中作者采用了自行修改源代码后的 categraf 采集工具,以采集更多的 SQL Server 数据库相关指标,当然你也采用官方提供的二进制包部署实践不会影响实践,采用夜莺监控平台自带的监控面板,若要使用作者设计的 Grafana 看板模板,则需要修改 categraf 源代码编译后使用,本文实践的相关配置、监控面板、预警规则都放在作者网盘中了,各位看友请在。) 库,其内置采集的指标包括数据库状态、性能、抓取、IO、内存和备份等,其参考了。

2025-12-01 16:12:46 899

原创 奇技淫巧 | 巧用阿里云免费 ESA:获取用户真实IP地址与地理位置

阿里云的边缘安全加速 ESA(Edge Security Acceleration)是一个全球分布式的边缘网络平台,它通过遍布全球的3200多个边缘节点,为游戏、电商、金融、媒体等行业提供一站式的网络加速、安全防护和边缘计算服务,旨在解决全球业务访问延迟高、网络攻击频发以及中心化计算带来的性能瓶颈问题。例如:内网业务通过物理的负载均衡设备四层转发到公网,但是无法获取真实的用户IP地址, 从而导致无法进行有效的用户追踪、溯源等,而依托于阿里云 ESA 边缘安全加速基础,可以解决此问题。

2025-11-11 00:14:09 1225

原创 Categraf | 国产化采集器实战:MySQL 指标采集、可视化、异常告警全流程

本章将介绍实践如何通过国产采集工具 Categraf 采集 MySQL 的指标数据到 VictoriaMetrics时序数据库中,并在夜莺(Nightingale v8)系统中查询相关监控指标数据,以及在 夜莺、Grafana 可视化面板展示采集的指标数据,最后对官方提供的告警规则进行优化添加,打通监控预警的最后一公里,希望本文对各位看友有帮助,作者将尽可能以少的语言进行讲解实践。

2025-11-10 07:00:48 971

原创 Categraf | 国产化ALL-IN-ONE采集工具:初识部署与Linux监控夜莺可视化实战

温馨提示:作者在 KylinOS V10 SP3 上也进行了测试,发现依赖 glibc-2.34 版本,而其官方更新源默认仅支持到 glibc-2.28-88 ,所以需要自行手动编译 glibc 至 2.34 版本(有宕机的风险,谨慎操作),否则会报错,这一点各位看友在实践时须知。其次,将 categraf 以 systemd 服务的方式注册到系统服务中,按需求执行如下命令,特别注意默认以root用户执行,若需要以非root用户执行,则需要在 --user 参数中指定非root用户。

2025-11-09 12:25:37 1078

原创 VictoriaMetrics | 云原生监控新宠: 使用 vmagent 工具采集 VM 集群指标实战

摘要:本文介绍了vmagent工具的安装部署及配置实践,该工具是VictoriaMetrics官方提供的指标采集组件,支持兼容Prometheus指标采集与转发。文章详细讲解了从二进制方式部署vmagent的步骤,包括下载安装、创建运行环境、配置systemd服务等过程。通过8429端口可查看采集状态,并演示了将Prometheus配置迁移到vmagent的方法。vmagent可实现远程写入VictoriaMetrics集群,为云原生监控提供高效解决方案。

2025-11-08 21:30:00 241

原创 VictoriaMetrics | 云原生监控新宠: 以二进制方式部署VM高可用集群实践

主要涉及全栈工程师(Full Stack Development)实践文章,包括但不限于企业SecDevOps和网络安全等保合规、安全渗透测试、编程开发、云原生(Cloud Native)、物联网工业控制(IOT)、人工智能Ai,从业书籍笔记,人生职场认识等方面资料或文章。)分别部署到集群机器节点中,此外还需与 vmauth、vmagent 组件配合使用,以实现高可用、访问认证以及指标数据的采集、转发和查询等功能。温馨提示:若启动服务报错请检查配置文件是否有语法错误,例如,缩进问题等,或者查看。

2025-11-08 00:01:21 736

原创 VictoriaMetrics | 云原生监控新宠: 10倍性能碾压Prometheus?单机一键部署实战

此外在使用 Promethues 时序数据库时,将会发现三个特别突出的问题,那就是指标数据的存储和查询效率问题,以及高可用性较差(不支持集群化部署),就是在这样的背景下 VictoriaMetrics 应运而生,提供了高性能的时序数据库,解决了 Promethues 的存储占用高和查询效率慢问题,以及高可用问题, 从而在云原生监控领域中崭露头角。相比,其存储资源占用更低,查询效率更高(介绍文档说是 10 倍及以上,经过作者测试同等条件下确实更优),并且支持集群化部署,提高了系统的可用性和可靠性。

2025-11-06 23:36:07 892

原创 DBA | 告别数据泵!Oracle 推荐的物理备份神器 RMAN 快速入门指南

前面,讲解 RMAN 原理时,提到过备份压缩的概念,这里再补充下 RMAN 备份压缩的实践操作,另外,需要知道的是压缩适用于 CONTRILFILE、ARCHIVELOG、DATAFILE 等,启用压缩后数据文件体积会减少到 2 ~ 4 倍,但是备份时间和恢复时间会增长,并且备份期间会消耗更多的 CPU 资源。:它在备份的块级别进行。与空值压缩和未使用块压缩不同,二进制压缩会对读取到内存中的数据块进行重新编码,以减小它们的大小,此种压缩方法通常可以进一步减小备份文件的大小,但会增加CPU和内存的使用量。

2025-11-05 22:10:06 1014

原创 DBA | Oracle RMAN 实战:物理备份与数据恢复全解析

步骤 03.备份控制文件并自定义文件格式,实际前面 RMAN 参数中已经配置了自动触发(可选,此处了解即可)其分为上、下两篇,其中上篇为RMAN 快速入门介绍,下篇为 RMAN 备份恢复实践。步骤 04.查看镜像(映像)数据文件副本与控制文件、参数文件备份集信息。

2025-11-05 22:10:06 445

原创 DBA | Oracle 数据备份迁移之数据泵 expdp/impdp 工具实战指南

,并通过一系列实践步骤展示了如何使用它进行全库备份和特定用户数据的备份恢复,最后通过四个小例子演示了数据泵的高级使用技巧,如备份特定表、条件查询导出,以及恢复到其它模式(用户)下的指定表中等。至此,相信跟随作者一起实践的看友们,已经掌握了使用数据泵进行 Oracle 数据库备份恢复的技巧了吧,是不是其功能与性能上秒杀传统的 exp/imp 备份恢复工具。步骤 01.创备份目录,并将目录的读写权限授予给执行备份恢复的用户,上一节中已授权给 sys,此处将授权给非DBA权限的 itgeek 用户。

2025-10-30 00:02:58 756

原创 DBA | Oracle 数据备份迁移之传统 exp/imp 工具实战指南

原有表再进行导入,否则将会在恢复时因为约束无法导入通过 update 语句修改的数据行,但是 delete 语句删除的数据行则可以正常恢复,但是会出现数据行向后追加的情况。,并且在所有Oracle版本中具有很好的兼容性,但在新版本的Oracle中(尤其是12c及以上),强烈建议使用更现代、更高效的数据泵(Data Pump)工具,即。步骤 06.使用 sys 或者 itgeek 用户登录,查看恢复后的数据,由下图可以看到不但删除的 itgeek 用户恢复了,里面的数据也恢复了。

2025-10-29 09:26:08 927

原创 DBA | MySQL 数据库基础外键约束实践笔记

描述:通过前面删除记录实践可知,一旦为子表创建了外键关联后,我们再删除父表的数据记录时会判定父表与子表关联字段是否存在关联关系,如果存在则不允许删除,这样保障了数据的一致性、完整性。举个例子:例如两张表分别是部门表(父表)和员工表(子表),那么这两张表就需要通过外键关联起来,保证数据的完整性和一致性,即不能插入非父表中的部门 ID,当然若此父表部门 ID 存在有员工则不能直接删除。问题来了,如何建立外键约束呢?至此,完成了外键的创建、添加、删除,以及外键主要行为的实践,希望能让各位看友有收获。

2025-10-20 10:21:54 668

原创 DBA | MySQL 数据库基础字段约束实践笔记

限制保存数据时,检查插入的数据是否满足表达式要求,支持条件以及正则匹配,特别注意在 8.0.16 版本之后,5.7.x 版本是不支持的。【工作学习实践笔记】,当前价格¥299,除了获得从业笔记的同时还可进行问题答疑以及每月远程技术支持,希望大家多多支持,收获定大于付出!上一篇,我们一起学习了 MySQL 内置的一些常用函数,想必各位看友都有一定的收获吧,在此基础上,我们来继续学习 MySQL 中字段。的相关知识,大家可能从字面意义上来看就是限制,没错就是限制,那下面我们来详细讲解一下。

2025-10-20 10:21:54 661

原创 Nginx | concat 模块:揭秘淘宝官网提速利器,如何一键合并CSS/JS响应资源?

温馨提示:此模块大多数只在高并发场景中使用,例如淘宝、京东等大型网站,实际上企业门户网站并不使用此模块,因为其静态资源已经通过 CDN 分发,极大的减少后端服务器的连接负载,此外应用在迁移到新环境时由于依赖于 concat 模块,所以需手动编译到 nginx 或者 OpemResty 中,这会导致迁移成本增加。例如,我们在访问淘宝官网时,会发现有几个请求将CSS和JS文件都被合并到了一个文件中,并在一个请求中返回,如下所示,在 URL 后加上。[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ]

2025-10-19 09:36:07 416

原创 Nginx | mirror 模块,实现流量镜像,把生产流量“悄悄”复制到测试环境

描述:mirror 模块是 Nginx 中用于实现流量镜像功能,它允许将原始请求复制到另一个服务器上而不影响对客户端的响应,可将生产环境的请求复制到测试或开发环境进行处理,此模块已经默认编译进 Nginx ,可通过。mirror 工作原理:将Nginx接收到请求生成一个子请求,可通过反向代理将其发送到指定的服务器上,原始请求将继续处理并返回给客户端,而镜像请求则在后台执行而不影响用户感知。

2025-10-18 00:01:41 936

原创 Nginx | geoip2 模块,超越内置GeoIP,告别粗糙IP地域定位信息

温馨提示:目前 MaxMind 官方可以免费注册并提供 GeoLite2 数据库文件下载,但是其经纬度,以及国内的 IP 地址定位并不准确,如果想获取更精确的地理位置信息,可以考虑使用 MaxMind 的付费数据库文件;同样,这里使用上小节 geoip 模块中测试的几个 IP 地址做比对测试,由图可知,到无论是数据的精确度,还是数据的多样性,GeoIP2 模块都表现得非常出色。

2025-10-17 21:26:58 958

原创 Nginx | geoip 模块,自载地理区域数据,实现获取访问IP地域信息

结尾的二进制数据库文件,来确定客户端 IP 地址的地理位置信息,例如,国家、城市、乃至 IP 地址的经纬度(大致区域) 等。温馨提示:目前,MaxMind 官方已经不再提供早期的 dat 格式数据库下载链接,但仍然可以登录注册免费获取 GeoLite2 数据库,但是需要使用 geoip2 模块,而非 geoip,作者在后续小节中也会简单介绍和演示。【工作学习实践笔记】,当前价格¥299,除了获得从业笔记的同时还可进行问题答疑以及每月远程技术支持,希望大家多多支持,收获定大于付出!请求到达 Nginx 时,

2025-10-17 20:50:32 882

原创 Nginx | geo 模块,筑起地理围栏,实现IP地域访问控制

主要涉及全栈工程师(Full Stack Development)实践文章,包括但不限于企业SecDevOps和网络安全等保合规、安全渗透测试、编程开发、云原生(Cloud Native)、物联网工业控制(IOT)、人工智能Ai,从业书籍笔记,人生职场认识等方面资料或文章。【工作学习实践笔记】,当前价格¥299,除了获得从业笔记的同时还可进行问题答疑以及每月远程技术支持,希望大家多多支持,收获定大于付出!温馨提示:使用手动指定规则通常应用于小范围的 IP 地址,对于大规模的 IP 段划分,建议使用。

2025-10-16 07:00:00 895

原创 Nginx | split_clients 模块,实现客户端流量分发,玩转 A/B 测试

是一种非加密型哈希函数,由 Austin Appleby 于 08 年发明,现在最新版本为 murmurhash3,性能是 md5 的 4 倍左右,在 redis 中应用广泛,包括数据库、集群、哈希键、阻塞操作 等功能都有用到这个算法。步骤 03.分别使用 213 和 214 的客户端 IP 进行访问测试,可以看到不同的流量分配结果,值得注意的是,其计算结果是固定的,并不会因为多次访问而改变。A/B 测试:可以根据不同的版本比例,将流量分配到不同的版本上,进行功能测试和用户反馈收集。然后将哈希值与最大值。

2025-10-16 00:22:22 1062

原创 Nginx | referer 模块,筑起防盗链高墙,告别流量盗刷

在某网站通过 URL 引用其他网站的静态资源,动态资源,当用户在浏览器中浏览或点击请求 URL 时,会在请求头部中带上 Referer 字段,用以标识当前请求是从哪个页面链接过来的。若不加以限制,则容易被盗刷流量,增加服务器资源消耗,所以我们需要一个拒绝非正常的网站访问我们站点资源的策略,即防盗链。特别注意:在实际使用中,还需注意 Referer 字段可以被客户端伪造,所以还需结合其他安全措施一起使用,例如 IP 地址白名单、签名验证,或者下一章节讲解的。),需要学习实践笔记的看友,可添加作者微信或者。

2025-10-15 00:04:00 315

原创 Nginx | secure_link 模块,筑起资源链接签名防线,防盗链终极方案

描述: 前面我们说到通过 Referer 模块根据 referer 请求头来判断请求来源是否合法,由于 Referer 请求头可以被伪造,所以我们需要一种更加安全的方式来验证资源的访问权限,即通过在 URL 中嵌入签名的方式来验证请求的合法性,例如,通过。,其中 prefix 为固定的前缀,hash 为原始字符串的 MD5 哈希值,link 为原始链接,针对 "link 密钥" 做 md5 哈希值"假设,我们希望通过 URL 传递一个签名来验证请求下载的合法性,例如:原请求为。

2025-10-15 00:04:00 440

原创 Nginx | auth_request 模块,实现模块灵活、强大且解耦的认证授权机制

它的核心思想是:在处理一个原始请求(A)之前,先发起一个子请求(B)到指定的内部接口进行认证,并根据子请求的返回结果来决定是继续处理原始请求,还是拒绝它。总结:auth_request 模块提供了灵活的外部认证机制,主要应用于需要统一用户鉴权系统的场景,提供灵活、安全的访问控制机制,适合生产环境中复杂的权限验证需求。• 步骤 02.发起子请求,内容与原请求相同,向认证服务发送一个新的请求,转发原始请求的认证相关信息。• 步骤 01.拦截原始请求,暂停处理用户的原始请求,保存原始请求的相关信息。

2025-10-14 17:41:05 373

二进制方式部署高可用kubernetes集群(V1.23.6)的相关依赖软件及服务软件打包

采用二进制方式部署、搭建高可用的kubernetes(V1.23.6)集群依赖工具,包含cfssl、cfssl-certinfo、cfssl证书制作工具,containerd.io 容器运行时v1.6.4、coredns - v1.9.1、etcd-v3.5.4、calico-v3.22、k9s - v0.25.18 以及最新版本的kubernetes-dashboard v2.5.1。 博客地址: https://blog.youkuaiyun.com/u013072756 部署原文请参考上述优快云最新文章。

2022-05-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除