网站首页 > 精选教程 正文
基本使用
使用add_header允许在响应头中添加自定义字段。
官方文档地址:http://nginx.org/en/docs/http/ngx_http_headers_module.html
参考nginx官方文档,添加响应头的方法如下:
举例:在conf文件的server作用域中添加如下响应头:
server {
listen 80;
# 其他配置...
# 允许跨域
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
# 其他配置...
}
保存配置,重启nginx服务器,尝试跨域请求nginx目录下的json文件,响应成功。
遇到的坑:反向代理请求报错
由于是在nginx server作用域下设置add_header,会对nginx反向代理的php/tomcat请求生效。
如果php代码中设置了header('Access-Control-Allow-Origin: *');add_header不会覆盖而是追加,响应头会出现Access-Control-Allow-Origin多个定义错误。
解决方法:
在nginx location作用域中设置add_header。一般跨域请求的都是json文件,仅对json文件生效即可。
location ~ .*\.(json)?$ {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
}
add_header总结
- add_header 指令用于添加响应头字段,当且仅当状态码为200, 201, 204, 206, 301, 302, 303, 304, 307, 308有效。
- add_header在其他状态码下也生效,可以加上always,add_header name value always。
- 当前作用域(http、server、location、location的if)没有设置add_header的话,会继承外层作用域的add_header设置。
猜你喜欢
- 2024-10-24 ansible 运维使用(一) ansible自动化运维工具
- 2024-10-24 HTTP,HTTP2.0,SPDY,HTTPS你应该知道的一些事
- 2024-10-24 「mysql优化专题」高可用性、负载均衡的mysql集群解决方案(12)
- 2024-10-24 k8s网络calico之ipip数据流 k8s pod ip会变吗
- 2024-10-24 linux工作中常用之必备基础命令(二)
- 2024-10-24 高可用性、负载均衡的mysql集群解决方案
- 2024-10-24 搭建分发平台需要什么配置的服务器
- 2024-10-24 k8s 理解Service工作原理 k8s service 原理
- 2024-10-24 《MySQL主从不一致情形与解决方法》
- 2024-10-24 关于HTTP,我们需要知道哪些? 外贸需要知道的认证有哪些
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)