首页 > 系统相关 > Nginx中add_header和proxy_set_header的区别

Nginx中add_header和proxy_set_header的区别

时间:2023-05-12 13:47:02浏览次数:47  
标签:set Nginx nginx header add version proxy

一、proxy_set_header和add_header的区别

 

proxy_set_header是nginx设置请求头给上游服务器,add_header是nginx设置响应头信息给浏览器。

1.1 proxy_set_header

  1.   语法格式:
  2.   proxy_set_header field value;
  3.   value值可以是包含文本、变量或者它们的组合。
  4.   常见的设置如:
  5.   proxy_set_header Host $proxy_host;
  6.   proxy_set_header version 1.0;

 假如nginx请求上游服务器时,添加额外的请求头,就需要使用proxy_set_header。在java中使用HttpServletRequest.getHeader(String name)来获取请求头的值,name是请求头的名称。

例如: proxy_set_header version 1.0;

  1.   String version = request.getHeader("version");
  2.   System.out.println(version);

 

1.2 add_header

nginx响应数据时,要告诉浏览器一些头信息,就要使用add_header。例如跨域访问

  1.   add_header 'Access-Control-Allow-Origin' '*';
  2.   add_header 'Access-Control-Allow-Headers' 'X-Requested-With';
  3.   add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS'
  4.   # 由于跨域请求,浏览器会先发送一个OPTIONS的预检请求,我们可以缓存第一次的预检请求的失效时间
  5.   if ($request_method = 'OPTIONS') {
  6.   add_header 'Access-Control-Max-Age' 2592000;
  7.   add_header 'Content-Type' 'text/plain; charset=utf-8';
  8.   add_header 'Content-Length' 0;
  9.   return 204;
  10.   }

更改完毕后,进入nginx sbin目录执行./nginx -s reload重启nginx

参考一

参考二

参考三

 

标签:set,Nginx,nginx,header,add,version,proxy
From: https://www.cnblogs.com/tiancai/p/17393857.html

相关文章

  • 工程监测NLM5无线中继采集发送仪使用$SETPTool 工具读写参数
    工程监测NLM5无线中继采集发送仪使用$SETPTool工具读写参数 $SETPTool是通用的设备测试、参数读写工具,适用于稳控科技绝大部分设备机器。如果要编写自己的测试工具,可参考“2.通讯协议”章节说明。$SETPToolForNLM5xx的主界面如下图所示。 按照主界面左下角操作提示......
  • 6.Nginx代理
    6.Nginx代理 安装Nginxsudoyuminstallnginx 启用和启动服务:sudosystemctlenablenginxsudosystemctlstartnginx 通过ip地址即可查看对应的欢迎页。http://118.25.251.113/usr/share/nginx/html 2、NGINX服务代理 进入/etc/nginx/文件夹修改nginx.co......
  • 自用nginx配置(常见安全配置,http转https,http和https混合请求,解决http host头攻击漏洞)
    自用nginx配置(常见安全配置,http转https,http和https混合请求,解决httphost头攻击漏洞)#usernobody;worker_processes1;#error_loglogs/error.log;#error_loglogs/error.lognotice;#error_loglogs/error.loginfo;#pidlogs/nginx.pid;events{w......
  • blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on th
    现在的浏览器出于安全策略的限制,都是不允许跨域的,但是开发的时候经常需要一些别的域的接口,特别是一些接口不是自己能控制的时候,往往会造成开发困难。今天无意中知道了,chrome浏览器可以通过设置为可跨域,解决跨域问题,从而在本地进行开发工作下面我就介绍谷歌浏览器新老版本各自的......
  • Java-Day-19( 对集合实现类的选择 + TreeSet + TreeMap )
    Java-Day-19总结-开发中如何选择集合实现类在开发中,选择什么集合实现类,主要取决于业务操作特点,然后根据集合实现类特性进行选择先判断存储的类型(一组对象或一组键值对)一组对象(单列):Collection接口允许重复:List增删多:LinkedList[底层维护了一个双向链......
  • Solution Set - 点分治
    A[POJ1741].给定一棵树,边有权,求长度不超过\(k\)的路径数目。B[HDU4871].给定一张图,边有权,求它的最短路径树上恰含\(k\)个点的路径中最长路径的长度及数目。C[HDU4812].给定一棵树,点有权,求字典序最小的一个点对,其路径上的所有点权之积模\(100003\)等于\(k\)。D[HDU5469].给定一......
  • vue3 setup 父页面调用子组件及子组件调用父页面方法的DEMO
    父页面调用子组件中方法父页面<template><div><!--第四步:页面使用子组件,并添加ref属性,注意ref属性不能和子组件重名--><role-cardref="roleRef"></role-card></div></template><scriptlang="ts"setup>import{ref......
  • nginx 10061: No connection could be made because the target machine actively ref
    nginx10061:Noconnectioncouldbemadebecausethetargetmachineactivelyrefusedit nginx重载配置一直有些不生效,查看后,发现nginx有4个,全部关闭掉,再重开nginx,正常了nginx.exe-squit,可以把正常的nginx退出掉,其他的nginx,任务管理器强制关闭掉startnginx开启nginx,o......
  • Nginx容器挂载日志卷的日志切割: logrotate
    logrotate是一个日志文件管理工具,用来把旧文件轮转、压缩、删除,并且创建新的日志文件.1).功能:配合crontab控制启动,按配置定义的分割时间和保留分割文件数量来控制日志生成和删除.2).语法:logrotate[参数]<路径/配置文件>-d,--debug调试模式,输出调度结果,并......
  • div+iframe代替frameset
     frameset和frame标签已经过时了。框架集不能定义在body标签 HTML框架-csnmd-博客园(cnblogs.com) <html><head><title>网上书店</title><style>body{margin:0;padding:0;border:0;......