springcloud gateway转发后getServerName被更改的问题
该问题起源于一次将代码移植到微服务产生。当使用springcloud gateway更换掉nginx网关后,出现无法登录的情况,跟进发现转发的信息里丢失了Host
=== MimeHeaders ===
accept = */*
knife4j-gateway-code = ROOT
content-type = application/x-www-form-urlencoded
user-agent = Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
request-origion = Knife4j
origin = http://localhost:7003
sec-fetch-site = same-origin
sec-fetch-mode = cors
sec-fetch-dest = empty
referer = http://localhost:7003/doc.html
accept-encoding = gzip, deflate, br
accept-language = zh-CN,zh;q=0.9
cookie = oxygentk=99d0a1b10bdd1443589a3416184d31984ed81136535c2e6498edbae12728f748; oxygenuid=36AB9A653683D50D4EC7E525BD9C96E9; charge-key={%22userId%22:3603%2C%22name%22:%22%E6%96%B0%E6%89%8B3603%E5%95%8A%22%2C%22icon%22:%22https://whalesing-web.oss-cn-guangzhou.aliyuncs.com/appres/forbidden.png%22}; AWX_RISK_ID=f6f3dd72e6cee7611eddf8328462756df97853ca; Hm_lvt_5819d05c0869771ff6e6a81cdec5b2e8=1684128760; Hm_lpvt_5819d05c0869771ff6e6a81cdec5b2e8=1684129236; lang=zh-CN; i_like_gogs=f529fa5db09e7bdd; JSESSIONID=20A183584BD3512F939D5696D56DA14A
forwarded = proto=http;host="localhost:7003";for="[0:0:0:0:0:0:0:1]:1926"
x-forwarded-for = 0:0:0:0:0:0:0:1
x-forwarded-proto = http
x-forwarded-prefix = /biz-core
x-forwarded-port = 7003
x-forwarded-host = localhost:7003
host = 192.168.1.196:8083
content-length = 0
上面看到host信息已经变成ip地址,而原地址被放到了x-forwarded-host。
因为request.getHeaders()会优先获得Host的Header,导致了request.getHeaders()的结果和原信息不一致。解决办法有两种
1)单独获得x-forwarded-for头部信息
2)设置gateway按原头部进行转发。添加参数PreserveHostHeader:
bootstrap.yml
server:port: 7003
spring:application:name: gatewaycloud:nacos:default-filters:- PreserveHostHeader #发送原主机头discovery:namespace: publicserver-addr: 192.168.1.196:8848
相关文章:
springcloud gateway转发后getServerName被更改的问题
该问题起源于一次将代码移植到微服务产生。当使用springcloud gateway更换掉nginx网关后,出现无法登录的情况,跟进发现转发的信息里丢失了Host MimeHeaders accept */* knife4j-gateway-code ROOT content-type application/x-www-form-urlencoded …...
Linux - firewall-cmd 命令添加端口规则不生效排查
文章目录 linux 防火墙 firewall-cmd 命令详解问题排查 linux 防火墙 firewall-cmd 命令详解 基本语法 firewall-cmd --zonezone-name --add-serviceservice-name --permanent命令参数 --zone:指定要添加服务的区域名称。 --add-service:指定要添加的…...
iPhone手机屏幕分辨率
ios app测试时,需要测试应用在不同型号的苹果手机上的表现形式,可以自己在浏览器上配置。 代数设备逻辑像素尺寸缩放发布时间第一代iPhone 2G320 x 480480 x 3203.5寸1x2007年6月29日第二代iPhone 3320 x 480480 x 3203.5寸1x2008年7月11日第三代iPhone …...
文件包含漏洞(3),日志利用, 图片木马利用
日志利用, 图片木马利用 一, 利用服务器日志 通过普通的网络请求向日志文件注入代码, 再利用文件包含漏洞执行日志中的代码段. apache log: /opt/lampp/logs/access_log nginx log: /usr/local/nginx/logs/access.log 首先可以利用文件包含漏洞测试日志文件的内容是否可以显…...
java面试--线程总结
Java中有几种方式来创建线程执行任务,分别是什么? 1、继承Thread类 public class MyThread extends Thread{public static void main(String[] args) {MyThread myThread new MyThread();myThread.start();}Overridepublic void run() {System.out.pr…...
Angular-02:环境等说明
项目名不要带数字npm版本过低安装工具时加上版本号现项目完整的工具链:angular ngZorro rxjs ngrx sassvscode好用插件分享: 名称说明Auto Close Tag自动闭合html标签Auto Import自动引包(可自动生成文件路径提示方便文件导入࿰…...
pgsql 分组查询,每组取10条
需求: 按照表的字段分组,然后每组取10条结果,返回即可 sql 如下: SELECT* FROM (SELECT chk_id,feature_id,task_id, ROW_NUMBER () OVER (PARTITION BY chk_id ORDER BY chk_id) AS row_num FROM ics_check_report WHERE task…...
python,pandas ,openpyxl提取excel特定数据,合并单元格合并列,设置表格格式,设置字体颜色,
python,pandas ,openpyxl提取excel特定数据,合并单元格合并列,设置表格格式,设置字体颜色, 代码 import osimport numpy import pandas as pd import openpyxl from openpyxl.styles import Font from op…...
chatgpt论文润色 降重
用chatgpt最好要给他范例。chatgpt降重原理: https://www.bilibili.com/video/BV1Eh411M7Ug/?spm_id_from333.337.search-card.all.click&vd_sourceebc47f36e62b223817b8e0edff181613 一. 中文论文翻译成英文 1.1 直接翻译 你是一位广义零样本学习的专家&a…...
第四章 文件管理 七、文件共享
目录 一、基于索引结点的共享方式(硬链接) 1、知识回顾: 2、例子: 二、基于符号链的共享方式(软链接) 1、例子 三、总结 一、基于索引结点的共享方式(硬链接) 1、知识回顾: 索引结点,是一…...
带过期时间的localstorage封装
localstorage原本是不带过期时间的,xijs提供了一个带过期时间封装的store工具,但是用起来因为文档基本等于没有,所以干脆直接封装一个用,其中ttl是过期时间,以毫秒计算。 // 设置function setLocalStorageWithExpiry(…...
mac系统u盘启动盘制作教程,更新至macOS Sonoma 14
mac系统怎么制作装系统的u盘,如果您要在多台电脑上安装 macOS,而又不想每次都下载安装器,这时可引导安装器就会很有用。一起来看苹果电脑u盘启动盘制作教程吧。 Macos系统安装包合集包揽macos 10.15,macos 11和苹果最新系统等多个版本 1、A…...
基于单片机的智能电子鼻的设计
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、智能电子鼻系统的设计方案1.1智能电子鼻系统的设计思路1.2智能电子鼻系统的设计流程图1.3智能电子鼻系统的硬件数…...
代码随想录图论 第三天 | 130. 被围绕的区域 417. 太平洋大西洋水流问题
代码随想录图论 第三天 | 130. 被围绕的区域 417. 太平洋大西洋水流问题 一、130. 被围绕的区域 题目链接:https://leetcode.cn/problems/surrounded-regions/ 思路:题目要求沾边的不动,只改没沾边的,那么可以先dfs遍历4条边&am…...
二、【常用的几种抠图方式一】
文章目录 选框抠图快速选择工具抠图魔棒工具抠图对象选择工具抠图套索工具抠图多边形套索工具抠图磁性套索工具抠图 选框抠图 选框工具抠图适合规则的图形,如下图先使用选框工具框出对象的图轮廓,然后再选择并遮住在里边擦出图形的边缘,根据…...
常见面试题-MySQL专栏(一)
为什么 mysql 删了行记录,反而磁盘空间没有减少? 答: 在 mysql 中,当使用 delete 删除数据时,mysql 会将删除的数据标记为已删除,但是并不去磁盘上真正进行删除,而是在需要使用这片存储空间时&…...
使用Docker部署Apache Superset并实现公网远程访问
大数据可视化BI分析工具Apache Superset实现公网远程访问 文章目录 大数据可视化BI分析工具Apache Superset实现公网远程访问前言1. 使用Docker部署Apache Superset1.1 第一步安装docker 、docker compose1.2 克隆superset代码到本地并使用docker compose启动 2. 安装cpolar内网…...
buuctf_练[CISCN2019 华东南赛区]Web4
[CISCN2019 华东南赛区]Web4 文章目录 [CISCN2019 华东南赛区]Web4掌握知识解题思路代码分析正式解题 关键paylaod 掌握知识 根据url地址传参结构来判断php后端还是python后端;uuid.getnode()函数的了解,可以返回主机MAC地址十六进制;pyt…...
国际腾讯云直播推流配置教程!
云直播的服务本质是一个广播的过程,类似于电视台的直播节目通过有线电视网发送给千家万户。为了完成这个过程,云直播需要有采集和推流设备(类似摄像头)、云直播服务(类似电视台的有线电视网)和播放设备&…...
RocketMQ与Kafka差异对比:从架构到性能细节,解析两者在可靠性、扩展性和可用性等方面的优劣
淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kafka这个优秀的消息中间…...
WinAsar终极指南:3分钟掌握Windows平台asar文件图形化处理
WinAsar终极指南:3分钟掌握Windows平台asar文件图形化处理 【免费下载链接】WinAsar Portable and lightweight GUI utility to pack and extract asar( Electron archive ) files, Only 551 KB! 项目地址: https://gitcode.com/gh_mirrors/wi/WinAsar 还在为…...
GigE Vision 多相机同步终极检查清单(可直接用于项目部署)
GigE Vision 多相机同步终极检查清单(可直接用于项目部署)📋 GigE Vision 多相机同步终极检查清单一、网络基础设施二、PTP 配置三、硬件触发四、相机参数一致性五、软件数据处理六、验证手段📋 GigE Vision 多相机同步终极检查清…...
PICO开发效率翻倍:手把手教你用PDC串流实现Unity场景‘所见即所得’
PICO开发效率革命:用PDC串流实现Unity场景实时同步的终极指南 在VR内容开发领域,迭代效率往往决定着项目的成败。传统开发流程中,开发者需要反复在Unity编辑器和头显设备之间切换,每次修改后都要经历漫长的构建部署过程࿰…...
如何利用QOwnNotes托盘图标提升效率:快速访问与系统通知设置终极指南
如何利用QOwnNotes托盘图标提升效率:快速访问与系统通知设置终极指南 【免费下载链接】QOwnNotes QOwnNotes is a plain-text file notepad and todo-list manager with Markdown support and Nextcloud / ownCloud integration. 项目地址: https://gitcode.com/g…...
WebDataset社区支持:如何获取帮助与参与讨论
WebDataset社区支持:如何获取帮助与参与讨论 【免费下载链接】webdataset A high-performance Python-based I/O system for large (and small) deep learning problems, with strong support for PyTorch. 项目地址: https://gitcode.com/gh_mirrors/we/webdatas…...
Excel-countif函数
使用countif对满足特定条件的单元格数进行计数。1.基本语法countif(range, criteria)1.range指定要检查的单元格区域2.criteria定义了计数条件,可以是数字、表达式、单元格引用或文本字符串2.典型用法1.如果A1和A10中的单元格大于100countif(A1:A10,">100&q…...
CPS实战:如何用树莓派+传感器搭建你的第一个信息物理系统(附代码)
CPS实战:如何用树莓派传感器搭建你的第一个信息物理系统(附代码) 信息物理系统(CPS)听起来像是高科技实验室里的复杂装置,但实际上,你完全可以用手边的树莓派和几十元的传感器搭建一个功能完整的…...
CasRel模型部署教程:使用Triton推理服务器实现高并发SPO服务
CasRel模型部署教程:使用Triton推理服务器实现高并发SPO服务 1. 认识CasRel关系抽取模型 CasRel(Cascade Binary Tagging Framework)是一个专门从文本中提取结构化信息的强大模型。想象一下,你有一大段文字,里面包含…...
REX-UniNLU与LaTeX协同工作:智能学术论文写作助手
REX-UniNLU与LaTeX协同工作:智能学术论文写作助手 科研写作的痛点,只有经历过的人才懂:反复调整格式、手动整理参考文献、绞尽脑汁写图表描述... 但现在,AI技术正在改变这一切。 1. 学术写作的新革命 如果你正在写学术论文&#…...
CPU fallback方案:Qwen3-4B-Instruct-2507低算力环境适配
CPU fallback方案:Qwen3-4B-Instruct-2507低算力环境适配 1. 引言:当大模型遇上小算力 想象一下,你拿到一个功能强大的新模型,参数高达40亿,支持26万字的超长上下文,指令理解和逻辑推理能力都大幅提升。你…...
