服务器 第15页

  • 2026.05.23 | youres | 25次围观
    Nginx HTTP/2 服务端推送配置实战:从原理到生产的完整指南
    什么是 HTTP/2 服务端推送?为什么要用它 HTTP/2 服务端推送(Server Push)是 HTTP/2 协议的一个核心特性,它让服务器在客户端请求某个资源时,主动将其他可能被需要的资源一并推送给客户端,而不需要等客户端解析完 HTML 后再发起请求。 传统 HTTP/1.1 的工作流程是这样的:浏览器先请求 HTML 页面,收到响应后解析 HTML,发现需要 CSS、JS、图片等资源,再逐个发起请求。这个过程中,每个资源的请求都需要经历一次网络往返(RTT),页面...
  • 2026.05.23 | youres | 19次围观
    Nginx HTTP/2 配置完整教程:从开启到优化的一站式实战指南
    什么是HTTP/2?为什么要用它 HTTP/2是HTTP/1.1的升级版,最大的变化是多路复用(Multiplexing)——多个请求可以在同一个TCP连接上并行传输,彻底解决了HTTP/1.1的队头阻塞问题。 实际测试中,开启HTTP/2后,页面加载时间通常能缩短30%~50%,尤其是资源多的网站效果更明显。它还有头部压缩(HPACK)、服务端推送、请求优先级等特性,都是HTTP/1.1不具备的。 开启HTTP/2前的准备工作 SSL证书是必须的吗 现实中,浏览器只支持...
  • 2026.05.23 | youres | 24次围观
    Nginx CORS与反向代理同时配置方法
    问题背景:为什么CORS和反向代理会冲突 很多开发者在配置Nginx反向代理时,发现跨域请求突然失效了。浏览器控制台抛出Access-Control-Allow-Origin缺失的错误,但明明已经配置了CORS头。 根本原因是:反向代理改变了请求的来源和路径,导致CORS配置被覆盖或失效。 场景一:反向代理后端API,前端跨域失败 典型架构:前端(http://localhost:3000) → Nginx反向代理 → 后端API(http://backend:8080)...
  • 2026.05.23 | youres | 25次围观
    Nginx add_header在if块中失效问题解决方法:彻底搞懂if配置陷阱
    问题现象:明明配置了add_header却不生效最近好多运维朋友在配置Nginx安全响应头的时候遇到一个很诡异的问题:明明在server块里配置了通用的add_header指令,又在if块里针对特定条件加了额外的响应头,结果要么if块里的头完全不生效,要么连server块里配置的头都消失了。我自己在刚接触Nginx的时候也踩过这个坑,当时以为是Nginx的bug,查了半天才发现是Nginx的指令继承规则和if块的特殊性质导致的,今天就把这个问题的来龙去脉讲清楚,附上3种彻底解...
  • 2026.05.23 | youres | 24次围观
    Ubuntu netplan静态IP配置实例:从入门到生产环境的完整实战指南
    在Ubuntu系统中,网络配置经历了从/etc/network/interfaces到netplan的演变。如果你还在用老办法配静态IP,是时候了解一下netplan了——它用YAML格式声明网络状态,语法简洁,结构清晰,不管是入门还是生产环境都能应付得来。 什么是netplan?为什么用它? netplan是Ubuntu 18.04 LTS之后默认的网络配置工具。它的工作方式很直接:你写一个YAML配置文件,netplan根据这份配置生成对应的网络管理器的配置,让syst...
  • 2026.05.23 | youres | 20次围观
    Nginx CORS多域名动态匹配:if与map两种方案深度对比与实战选择
    在前后端分离项目中,跨域请求是绕不开的问题。Nginx作为反向代理服务器,处理CORS配置是基本功。但当业务需要支持多个可信域名时,怎么配就成了一个值得探讨的问题。 常见做法有两种:用if指令做动态判断,或者用map指令做静态映射。表面上看都能实现,但在性能、配置可维护性上差距挺大。今天就把两种方案掰开了讲。 为什么多域名CORS配置要特殊对待 标准的CORS响应头需要返回Access-Control-Allow-Origin,它的值可以是具体的域名(必须是完整URI,不能带...
  • 2026.05.23 | youres | 25次围观
    Nginx CORS携带自定义Header配置教程:解决跨域请求自定义Header丢失的完整实战
    为什么自定义Header会触发CORS预检请求 当前端在AJAX请求中设置自定义Header(如X-Requested-With、X-Auth-Token、X-Client-Version)时,浏览器会自动触发CORS预检请求(Preflight Request)。这是因为自定义Header不属于CORS安全列表(Safe List),浏览器必须先询问服务器是否允许该请求。 预检请求使用HTTP OPTIONS方法,携带Access-Control-Request-Heade...
  • 2026.05.23 | youres | 23次围观
    HTTP/2 Stream流创建流程详解:从TCP握手到请求发送的完整过程
    上一篇文章聊了HTTP/2的多路复用原理,知道了多个请求可以在同一条TCP连接上并行传输。但多路复用只是结果,底层是怎么"起个头"让 Stream 跑起来的?今天就把这个过程拆开来,一步步说清楚。一、HTTP/2 连接建立:从TCP到HTTP/2的握手HTTP/2 不能凭空出现,必须先建立一条有效的 TCP 连接。流程如下:TCP 三次握手建立连接(这是基础,不变)TLS 握手协商加密参数(HTTP/2 推荐使用 TLS 1.2+,且会协商 ALPN 标识)握手完成后,客户端...
  • 2026.05.23 | youres | 17次围观
    Docker LNMP SSL证书配置:Let's Encrypt免费HTTPS从申请到自动续期完整实战
    为什么Docker LNMP必须配置SSL证书 现在网站不上HTTPS基本等于裸奔——浏览器会标记"不安全",搜索引擎排名也会受影响。对于Docker LNMP环境来说,配置SSL证书有两个核心优势:数据传输加密保护用户隐私,HTTPS是Google等搜索引擎的排名加分项。 Let's Encrypt提供免费SSL证书,配合Docker容器化的Certbot工具,整个申请和续期过程都能自动化完成,不需要花钱买证书,也不需要手动续期。 整体方案架构 Docker LNMP配置...
  • 2026.05.23 | youres | 20次围观
    Nginx CORS与Cookie携带配置教程:解决跨域请求Cookie丢失的完整实战
    前言:跨域请求为什么Cookie会丢失? 做过前后端分离项目的人基本都踩过同一个坑:前端用axios或fetch发起跨域请求,后端明明设置了Cookie,但浏览器就是收不到。打开开发者工具一看,Set-Cookie响应头有了,可Request Headers里就是没有Cookie字段。 这不是bug,这是浏览器的安全机制。CORS(跨域资源共享)默认不允许跨域请求携带凭据(Cookie、Authorization头等),需要在服务端和前端同时配置才能打通。而Nginx作为反向...
文章归档