网站首页 > 技术教程 正文
基本使用
使用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-06 nginx中控制某些特定User-Agent的来源访问
- 2024-10-06 Nginx 高可用方案(nginx高可用方案)
欢迎 你 发表评论:
- 12-17苹果设置下载安装(苹果设置下载安装安卓)
- 12-17笔记本电脑打不开机什么原因
- 12-17单机游戏不能全屏怎么办(单机游戏不能全屏怎么办呢)
- 12-17联想笔记本电脑客服电话人工服务
- 12-17水星路由器登录网址melogincn进不去
- 12-17电脑怎么下载驱动(电脑安装驱动最简单方法)
- 12-17cad快速看图软件下载(cad快速看图软件最新)
- 12-17恢复出厂设置后悔了(恢复出厂设置后恢复)
- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)

本文暂时没有评论,来添加一个吧(●'◡'●)