当前位置: 首页 > news >正文

nginx负载转发源请求http/https:X-Forwarded-Proto及nginx中的转发报头

今天在排查服务器的问题时最后定位到服务器因为经过了运维这一层的处理,转发过来的请求不管用户请求的是https还是http,我们的proxy服务器收到的都是80端口上的http。于是联系相关部门了解有没有现成的可用的这样一个字段来获得这个值。公司用的也是标准报头,即X-Forwarded-Proto。

    X-Forwarded-Proto(XFP)报头是用于识别协议HTTP或HTTPS的,即用户客户端实际连接到代理或负载均衡的标准报头。后端的服务器如果要确定客户端和负载平衡器之间使用的协议,可以使用X-Forwarded-Proto请求标头。nginx是支持读取非nginx标准的用户自定义header的,但是需要在http或者server下使用underscores_in_headers开启header的下划线支持,然后使用proxy_set_header向后端服务器发送字段X-Forwarded-Proto。

#proxy_set_header上下文:http, server, location。语法:
proxy_set_header field value;
#默认值:	
proxy_set_header Host $proxy_host;
proxy_set_header Connection close;#开启header的下划线支持:
underscores_in_headers on;
#设置向后端proxy发送X-Forwarded-Proto字段
proxy_set_header  X-Forwarded-Proto  $http_X_Forwarded_Proto;
proxy_set_header  X-Real-IP  $remote_addr;

    在后端的服务器,使用$http_X_Forwarded_Proto接收的,也可以使用小写比如$http_x_forwarded_proto来接收,前面都需要加上http_。

http://www.lryc.cn/news/183000.html

相关文章:

  • Docker compose插件安装
  • 【数据结构与算法】树、二叉树的概念及结构(详解)
  • 函数指针数组指针(指向函数指针数组的指针)
  • 经典算法-----汉诺塔问题
  • 博客之站项目测试报告
  • k8s晋级之管理容器的计算资源
  • 计算机竞赛 深度学习火车票识别系统
  • 盒子阴影和网页布局
  • Ph.D,一个Permanent head Damage的群体
  • visual studio禁用qt-vsaddin插件更新
  • Docker通过Dockerfile创建Redis、Nginx--详细过程
  • 关于使用 uniapp Vue3 开发分享页面 语法糖 setup 开发获取ref踩坑
  • Springboot+vue的时间管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。
  • 企业如何实时监管员工聊天转账行为
  • 2.2.3.1vim + ctags + cscope + taglist
  • JAVA面经整理(4)
  • Python3数据科学包系列(一):数据分析实战
  • 【LittleXi】【MIT6.S081-2020Fall】Lab: locks
  • 图像压缩:Transformer-based Image Compression with Variable Image Quality Objectives
  • C++ 类和对象篇(四) 构造函数
  • Swing程序设计(5)绝对布局,流布局
  • linux基础知识之文件系统 df/du/fsck/dump2fs
  • 华为云云耀云服务器L实例评测|Elasticsearch的Docker版本的安装和参数设置 端口开放和浏览器访问
  • 8章:scrapy框架
  • 软件工程与计算总结(二)软件工程的发展
  • Appium开发
  • EGL函数翻译--eglInitialize
  • 二项分布以及实现
  • css自学框架之幻灯片展示效果
  • 坦克世界WOT知识图谱三部曲之爬虫篇