nginx 重写Response Header Content-Language

最近做SEO优化,要求返回正确的Content-Language;

response.setHeader("Content-Language", "ja");//这个设置没用,这个值跟操作系统有关

 于是在nginx重写这个值,简略配置如下;

 

环境 :http://localhost/french;http://localhost/japanese........等;

 

 

        
location /{
	proxy_hide_header 'Content-Language'; #隐藏掉之前的值
	if ($request_uri ~* "/china"){ #根据不同的国家添加不同的值
		add_header Content-Language cn;
	}
	if ($request_uri ~* "/japanese"){
		add_header Content-Language ja;
	}
	if ($request_uri ~* "/french"){
	        add_header Content-Language fr;
	}
	proxy_pass http://home_server;
			
}
		
rewrite /china /test/index.do?locale=cn&custom=1 last;
rewrite /french /test/index.do?locale=fr&custom=2 last;
rewrite /japanese /test/index.do?locale=ja&custom=3 last;
rewrite ^/(.*) /test/index.do?locale=$1&custom=4 last;

 

以上代码在nginx-1.5.3 windows平台上测试通过.

 

 请看官方文档:

Note that for headers other than Last-Modified, it just appends a new header entry to the output header list. So you can't use this directive to rewrite existing headers likeServer. Use the headers_more module for it.

 

大概意思是说add_header这个参数不能修改 Last-Modified 除这个之外的值,如果你要修改,使用headers_more 这个扩展.由于我在windows上测试的,没法编译扩展到nginx,so用上面的办法!(╰_╯)#..

 

 

 

 

Nginx header模块缓存配置原理与CentOS 8实战避坑指南 浏览器缓存是Web性能优化的基础能力,其核心依赖HTTP响应头(如Cache-Control、ETag)的正确生成与传递。Nginx通过header模块控制响应头,但add_header指令存在状态码隔离、作用域继承断裂等底层机制限制,导致配置看似生效却无法触发304验证或内存缓存。在CentOS 8环境中,OpenSSL 1.1.1k、systemd 239及SELinux策略进一步加剧了缓存链路的不确定性。本文聚焦Nginx header模块的本质原理,结合map动态映射、proxy_hide_head 阅读详情

相关推荐

Nginx配置X-Frame-Options:详解点击劫持防护与安全头部署

点击劫持是一种利用iframe透明层诱导用户非预期点击的攻击手法,其核心原理是通过恶意嵌套页面窃取用户操作权限。为防御此类攻击,Web安全领域引入了X-Frame-Options这一HTTP响应头,它通过指令浏览器限制页面被嵌套的权限,从而构建基础安全防线。在Nginx中配置X-Frame-Options时,需根据业务场景选择DENY、SAMEORIGIN等指令值,并注意配置作用域与继承规则。现代Web开发中,Content-Security-Policy的frame-ancestors指令提供了更精细的控

mxdxm8899的专栏 441

Nginx 中常见 header 配置及修改

除了自带的 headers 模块,也可以安装第三方的 headers-more 模块,对应 headers 的控制更全面,更方便,headers-more 是 openresty 的一个模块,openresty 就自带了,nginx 的话,需要编译添加动态模块。proxy_set_header 通常用的最多,可以在提交给上游服务器的 header 中添加或重写 header,比如通常用到的,反向代理的时候,添加客户端 IP、XFF 等字段。

am_Linux的博客 1万+

Web API国际化设计:从Accept-Language协商到多语言错误码

Web API国际化不是简单的前端语言切换,而是贯穿HTTP协议、数据建模与内容协商的系统工程。其核心在于遵循RFC 7231标准,利用Accept-Language请求头实现语义化内容协商,并通过区域设置(Locale)解耦语言、区域、时区与货币四维属性。技术价值体现在缓存友好性提升、跨系统集成合规性增强及错误处理可维护性升级;典型应用场景包括跨境电商API、SaaS多租户服务与出海移动应用后端。本文深入解析Accept-Language权重解析、ResolvedLocale四维建模、UTC时间存储与动态

380

nginx 修改Response Headers

要修改nginx的响应头,可以使用nginx的add_header指令。 例如,要在所有响应中添加一个X-Powered-By头,可以使用如下配置: add_header X-Powered-By "My App" always;

weixin_35751194的博客 1921

Nginx之设定Response Head -yellowcong

nginx 安装 Nginx之解压编译安装-yellowcong nginx #下载nginx headers 得模块 git clone https://github.com/openresty/headers-more-nginx-module.git #进入nginx 配置nginx cd nginx-1.14.0 #配置nginx ./configure --user=www --g...

7369

nginx 服务器的响应头,详解Nginx服务器中HTTP Headers相关的模块配置使用

ngx_http_headers_module模块一. 前言ngx_http_headers_module模块提供了两个重要的指令add_header和expires,来添加 “Expires” 和 “Cache-Control” 头字段,对响应头添加任何域字段。add_header可以用来标示请求访问到哪台服务器上,这个也可以通过nginx模块nginx-http-footer-filter研究...

weixin_30139729的博客 4150

nginx】记录response body和header到access.log

1 背景 netstub项目中,需要记录经过网关的请求信息到日志,供loki采集,以便后续的统计分析工作。 需要记录请求的request_body, request_header, response_body, response_header数据到access.log。 本文记录一下配置过程。 2 配置 2.1 记录请求url 配置nginx配置文件default.conf ,使用nginx内置变量 $host 和$request即可获得url数据 log_format main esca.

be5yond的博客 1万+

Nginx安全配置全攻略:响应头与Host头防护实战

HTTP安全响应头是现代Web应用安全的基础防线,它通过一系列标准化的头部指令,指导浏览器执行关键的安全策略。其核心原理在于利用浏览器的同源策略和内容安全模型,主动限制或规范资源的加载与执行行为。从技术价值看,合理配置安全响应头能有效防御跨站脚本(XSS)、点击劫持、MIME类型混淆等常见攻击,是提升应用安全性的低成本高收益手段。在实际应用场景中,无论是静态网站、API网关还是微服务入口,都需要通过Web服务器(如Nginx)进行统一的安全头部署。本文聚焦于Nginx这一高性能反向代理服务器,深入探讨如何通

weixin_33692284的博客 365

Nginx配置实战:彻底解决前端跨域问题的两种核心方案

跨域问题是前端开发中因浏览器同源策略限制而引发的常见挑战,其本质是浏览器为保障安全而实施的访问控制机制。从技术原理上看,跨域请求分为简单请求和非简单请求(预检请求),后者会触发浏览器先发送OPTIONS请求进行预检。解决跨域的核心技术价值在于实现不同源应用间的安全数据通信,是构建现代前后端分离架构和微服务体系的基石。在实际工程实践中,Nginx作为高性能的HTTP服务器和反向代理,提供了两种高效的解决方案:一是通过反向代理将前后端请求统一到同源域名下,这是生产环境的首选方案,能从根本上规避跨域限制;二是通过

weixin_33743703的博客 589

前端请求头设置不当引发CORS跨域失败:从预检机制到实战排查

跨域资源共享(CORS)是现代Web开发中处理跨域请求的核心安全机制。其原理基于浏览器的同源策略,通过预检请求(OPTIONS)机制,在发送实际请求前与服务器进行安全协商。这一机制的技术价值在于平衡了前端应用灵活调用不同域API的需求与网络安全防护。在实际工程实践中,当请求头包含非标准内容(如自定义认证头或特定的Content-Type)时,极易触发预检流程。若服务器未正确配置响应头(如Access-Control-Allow-Headers),或预检请求本身因服务器路由、中间件问题返回400等错误状态码(

weixin_34380948的博客 838

ASP.NET Core HTTP缓存控制:从Header设置到多层信任链治理

HTTP缓存不是简单的响应头配置,而是基于RFC 7234的跨组件协同机制,其核心在于客户端、代理(如CDN)与源服务器构成的三层信任链。缓存行为由Cache-Control、ETag、Last-Modified和Vary等头部共同定义,但各环节可依策略降级或覆盖——例如Azure Front Door会忽略max-age而依据Last-Modified二次计算缓存时长。ASP.NET Core提供声明式([ResponseCache])与命令式(Response.GetTypedHeaders())双轨控

419

Nginx反向代理与HTTPS加密:为Linux-Dash管理面板构筑安全防线

在Web服务部署中,服务端口直接暴露是常见的安全隐患。Nginx反向代理作为应用层网关,其核心原理是充当客户端与后端服务之间的中介,不仅能隐藏后端真实地址,还能实现负载均衡、访问控制和静态资源缓存。HTTPS则通过SSL/TLS协议为通信链路提供加密、认证和完整性保护,是保障数据传输安全的基石。结合Nginx反向代理与HTTPS加密,能为内部管理面板等Web应用构建从网络层到应用层的纵深防御体系,有效抵御端口扫描、中间人攻击等威胁。本文以广泛使用的服务器监控工具Linux-Dash为例,详细阐述如何通过配置

weixin_34242331的博客 325

Ubuntu 20.04 Nginx安装失败的根源与实战修复指南

Nginx 是广泛使用的高性能 Web 服务器和反向代理,其稳定部署依赖底层操作系统包管理机制。在 Ubuntu 系统中,APT 包管理器通过源地址、仓库分支(如 focal)、组件(main/restricted)及包名语义(如 nginx-full 而非 nginx)协同工作。Ubuntu 20.04 作为长期支持版本,采用保守的模块化包设计与 systemd 集成策略,导致常见问题并非配置错误,而是 DNS 解析冲突、镜像源路径失效、元包缺失或 Type=notify 启动握手失败等系统级细节。理解

jackleechina2011212的博客 417

VS Code 编程助手替代方案:协议穿透与128K上下文模型落地指南

编程助手本质是嵌入开发流的智能补全服务,其核心在于低延迟响应、长上下文理解与IDE协议兼容性。随着GitHub Copilot Pro新注册暂停及第三方插件下架,开发者亟需可自主掌控的本地化替代方案。关键不在模型参数大小,而在token效率比、128K上下文保真度及VS Code私有协议(如X-GitHub-Copilot-Session)的精准适配。通过反向代理注入header、定制vLLM部署与DeepSeek-Coder等代码专用模型选型,可实现P95延迟<400ms、补全准确率≥87%的生产级体验,

weixin_30608503的博客 418

NGINX日志深度解析:Access Log与Error Log协同排障实战

NGINX日志是HTTP流量链路的原始证据链,其核心价值在于提供可追溯、可验证的请求全生命周期数据。Access Log记录事务终结时的结构化快照,包含客户端IP、请求路径、状态码、耗时($request_time)及上游响应时间($upstream_response_time)等关键指标;Error Log则作为进程级诊断报告,以异步方式输出worker崩溃、连接拒绝、权限错误等底层异常。二者协同构成故障定位的黄金组合:前者暴露现象模式,后者锁定根因位置。在可观测性建设中,精准定制log_format、分

子夜轻风 397

Ubuntu 16.04 Nginx部署决策指南:apt安装与源码编译深度对比

Nginx作为主流Web服务器与反向代理,其部署方式直接影响系统安全性、性能扩展性与合规能力。在长期支持已终止的Ubuntu 16.04环境下,单纯依赖apt安装虽快捷,却面临OpenSSL 1.0.0停更、HTTP/2默认禁用、Brotli压缩缺失及动态模块不可扩展等硬性限制;而源码编译则提供模块可控、TLS协议栈可升级、CPU指令集优化等关键能力,支撑等保2.0三级、金融级高可用及边缘嵌入式场景。本文基于真实政务、教育与金融项目经验,解析两种路径的技术原理、安全代价与适用边界,帮助运维与DevOps工程

weixin_30619101的博客 329

OneAIPlus镜像站技术深度拆解:API网关架构与国产化适配实践

API网关是现代云服务接入的核心中间件,其核心原理在于协议转换、流量调度、安全校验与状态桥接。在大模型服务国产化落地过程中,传统反向代理已无法应对OpenAI等平台日益严格的TLS指纹识别、会话绑定与容量熔断机制。具备四层能力的轻量级API网关——如OneAIPlus所实现的TLS指纹模拟、Session桥接、模型路由熔断与CSP重写——正成为保障‘免费、免登录、国内可用’体验的关键技术底座。该架构不依赖用户账号体系,规避敏感数据存储,兼顾性能、安全与合规,广泛适用于教育、研发与中小企业AI接入场景。

360

Web缓存欺骗攻击:原理、复现与纵深防御实战指南

缓存技术是Web性能优化的核心手段,通过存储内容副本来减少服务器负载、提升响应速度。其工作原理主要依赖HTTP缓存头(如Cache-Control)和缓存键机制来决定内容的存储与复用。然而,若配置不当,缓存可能错误地将动态敏感内容(如用户个人数据)存储为公共资源,从而引发严重的安全风险。Web缓存欺骗攻击正是利用了这一机制缺陷,攻击者通过构造特定请求路径,诱使缓存系统将私有数据缓存,导致任何后续访问者都能直接获取这些信息,造成大规模数据泄露。本文以实战复现为例,深入剖析攻击原理,并构建从应用层代码、Web服

anqiu4023的博客 431

Debian 10 上 systemd 部署 code-server 生产实践指南

code-server 是 VS Code 的服务化实现,将完整编辑器后端运行于服务器,前端通过 Web 实时交互,本质是轻量级云 IDE 架构。其核心原理在于分离计算(Node.js 进程集群)与呈现(WebSocket 渲染),依托 Linux 系统级资源管控实现多租户隔离。技术价值体现在环境一致性、内网合规性与跨终端零部署,显著降低嵌入式、教育及个人开发中的工程熵值。典型应用场景包括 Yocto 交叉编译协作、百人编程实训平台及树莓派轻量云工作站。本文聚焦 Debian 10 环境下基于 system

483
上一篇: mysql 用户权限管理
下一篇: Ehcache 过期参数说明
zhushidan
博客等级 码龄16年 0粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值