网站首页 > 技术教程 正文
基本使用
使用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高可用方案)
你 发表评论:
欢迎- 08-06linux 和 windows文件格式互相转换
- 08-06谷歌 ChromeOS 已支持 7z、iso、tar 文件格式
- 08-06Linux下比较文件内容的6种方法
- 08-06文件格式及功能汇总
- 08-0610个Linux文件内容查看命令的实用示例
- 08-06Linux-如何区分不同文件类型
- 08-06Zabbix技术分享——监控windows进程资源使用情况
- 08-06Linux系统卡顿?学会ps命令这三招,轻松定位问题进程
- 最近发表
- 标签列表
-
- 下划线是什么 (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)
本文暂时没有评论,来添加一个吧(●'◡'●)