nginx配置跳轉設置Host有誤導致報404問題

我們有個項目,前端調用了第三方接口。為了避免跨域,所以使用nginx進行轉發。一直正常工作,相安無事。近日第三方調整了安全策略,http轉換成https,原本使用ip,現在也改成使用域名,所以nginx這里我們也需要改一下。結果改了以后,報404。

nginx的相關配置如下:

location /other3/ {proxy_pass https://gh.abc.com/3-18035/;proxy_set_header   X-Forwarded-Proto $scheme;proxy_set_header   Host              $http_host;proxy_set_header   X-Real-IP         $remote_addr;proxy_read_timeout 180;
}

我再三拷問AI,它說了幾次廢話后,說有可能是Host頭部的原因:
默認情況下,Nginx 會將客戶端請求的 Host 頭部(即客戶端本身的地址,例如 10.26.40.24:9988)轉發給后端服務器。
如果后端服務器對 Host 頭部有嚴格要求(例如必須是 gh.abc.com),則需要顯式設置 Host 為后端服務器的域名。

于是再次修改,問題解決:

location /other3/ {proxy_pass https://gh.abc.com/3-18035/;proxy_set_header   X-Forwarded-Proto $scheme;#proxy_set_header   Host              $http_host;proxy_set_header   Host              gh.abc.com;  # 修改這里proxy_set_header   X-Real-IP         $remote_addr;proxy_read_timeout 180;
}

主要是nginx的配置代碼,都是抄過來的,東抄西抄,不知道具體含義。請教AI,它給出的含義是:

# 匹配所有以 "/other3/" 開頭的請求
location /other3/ {# 將匹配到的請求轉發到 https://gh.abc.com/3-18035/proxy_pass https://gh.abc.com/3-18035/;# 設置 "X-Forwarded-Proto" 請求頭為客戶端請求的協議(HTTP 或 HTTPS)# 即將客戶端請求的協議類型(HTTP 或 HTTPS)傳遞給后端服務器# 比如我的客戶端是http,則以http向目標服務器請求,盡管目標服務器是是https;# 如果目標服務器只認https,那只能是這樣設置:proxy_set_header X-Forwarded-Proto https;proxy_set_header   X-Forwarded-Proto $scheme;# 將 Host 頭設置為客戶端請求中原始的 Host 頭部值# proxy_set_header   Host              $http_host;# 顯式設置 "Host" 請求頭為 "gh.abc.com"proxy_set_header   Host              gh.abc.com;  # 設置 "X-Real-IP" 請求頭為客戶端的真實 IP 地址proxy_set_header   X-Real-IP         $remote_addr;# 設置 Nginx 等待后端服務器響應的超時時間為 180 秒proxy_read_timeout 180;
}

學習了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/76063.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/76063.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/76063.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深度學習 Deep Learning 第12章 深度學習的主流應用

深度學習 Deep Learning 第12章 深度學習的主流應用 內容概要 本周深入探討了深度學習在多個領域的應用,包括計算機視覺、語音識別、自然語言處理以及其他領域如推薦系統和知識表示。本章強調了硬件和軟件基礎設施的重要性,特別是GPU在加速神經網絡訓練…

【Qt】三種操作sqlite3的方式及其三種多表連接

一、sqlite3與MySQL數據庫區別: 1. 數據庫類型 SQLite3:是嵌入式數據庫,它將整個數據庫存儲在單個文件中,不需要獨立的服務器進程。這意味著它可以很方便地集成到各種應用程序中,如移動應用、桌面應用等。MySQL&…

mysqlworkbench導入.sql文件

1、MySQL Workbench 新建數據庫 或者 在左側導航欄的 ?Schemas 區域右鍵選擇 ?Create Schema...輸入數據庫名稱(例如 mydatabase),點擊 ?Apply確認創建,點擊 ?Finish 2、選擇目標數據庫 在左側導航欄的 ?Schemas 列表中&a…

《Spring Cloud Eureka 高可用集群實戰:從零構建高可靠性的微服務注冊中心》

從零構建高可用 Eureka 集群 | Spring Cloud 微服務架構深度實踐指南 本文核心內容基于《Spring Cloud 微服務架構開發》第1版整理,結合生產級實踐經驗優化 實驗環境:IntelliJ IDEA 2024 | JDK 1.8| Spring Boot 2.1.7.RELEASE | Spring Cloud Greenwich…

實變函數:集合與子集合一例(20250329)

題目 設 r , s , t r, s, t r,s,t 是三個互不相同的數,且 A { r , s , t } A \{r, s, t\} A{r,s,t}, B { r 2 , s 2 , t 2 } B \{r^2, s^2, t^2\} B{r2,s2,t2}, C { r s , s t , r t } C \{rs, st, rt\} C{rs,st,rt} 若 A B C A B C ABC 則 { r , s…

Redis設計與實現-哨兵

哨兵模式 1、啟動并初始化sentinel1.1 初始化服務器1.2 使用Sentinel代碼1.3 初始化sentinel狀態1.4 初始化sentinel狀態的master屬性1.5 創建連向主服務器的網絡連接 2、獲取主服務器信息3、獲取從服務器的信息4、向主從服務器發送信息5、接受主從服務器的頻道信息6、檢測主觀…

藍橋杯省模擬賽 字符串拼接

問題描述 給定四個字符串 a,b,c,d,請將這四個字符串按照任意順序依次連接拼成一個字符串。 請問拼成的字符串字典序最小是多少? 輸入格式 輸入四行,每行包含一個字符串。 輸出格式 輸出一行包含一個字符串,表示答案。 樣例…

【大前端系列20】JavaScript核心:項目實戰從零構建任務管理系統

JavaScript核心:項目實戰從零構建任務管理系統 系列: 「全棧進化:大前端開發完全指南」系列第20篇 核心: 將JavaScript異步編程、事件循環等核心知識應用于實際項目開發 📌 引言 在前面的文章中,我們深入探討了JavaScript中的異步…

STM32單片機的桌面寵物機器人(基于HAL庫)

效果 基于STM32單片機的桌面寵物機器人 概要 語音模塊:ASR PRO,通過天問block軟件燒錄語音指令 主控芯片:STM32F103C8T6 使用HAL庫 屏幕:0.96寸OLED屏,用來顯示表情 4個舵機,用來當作四只腿 底部一個面…

計算機視覺初步(環境搭建)

1.anaconda 建議安裝在D盤,官網正常安裝即可,一般可以安裝windows版本 安裝成功后,可以在電腦應用里找到: 2.創建虛擬環境 打開anaconda prompt, 可以用conda env list 查看現有的環境,一般打開默認bas…

SQL Server數據庫引擎服務啟動失敗:端口沖突

問題現象: SQL Server 2022 安裝完成后,數據庫引擎服務無法啟動,日志報錯 “TCP 端口 1433 已被占用”(ERROR_LOG_SYS_TCP_PORT)。 快速診斷 檢測端口占用: # 查看 1433 端口占用情況(需管理員權…

全局思維與系統思考

最近接到一些需求,1號位希望每個層級的領導者有眼界,胸懷,格局,全局觀,這些聽起來似乎很抽象,然而它們是每個人、每個團隊成長與成功的核心競爭力。那么,如何才能提升這些能力?就像我…

區間有關的貪心解題記錄435無重疊區間452用最少數量的箭引爆氣球

無重疊區間我的想法是開一個數組a&#xff0c;遍歷給出的區間&#xff0c;在數組a里將對應落在的區間index標記。如果有重復區間就只選擇最小的那個區間標記。但是這道題的區間好像很長-5 * 104 < starti < endi < 5 * 104沒法用數組a表示總的區間范圍。 核心思路是當…

天銳藍盾終端安全防護——企業終端設備安全管控

從辦公室的臺式電腦到員工手中的移動終端&#xff0c;這些設備不僅是工作的得力助手&#xff0c;更是企業數據的重要載體。然而&#xff0c;隨著終端設備的廣泛使用&#xff0c;安全風險也如影隨形。硬件設備使用不當、數據隨意傳輸等問題頻發&#xff0c;使得企業數據面臨著泄…

k8s網絡策略

k8s網絡策略 k8s網絡測試概述查看防火墻策略 k8s網絡策略網絡訪問控制案例&#xff1a;配置k8s網絡策略結果驗證 k8s網絡策略配置示例 k8s網絡測試概述 網絡策略就是設置防火墻 查看防火墻策略 # 獲取當前命名空間下的所有 NetworkPolicy 資源&#xff08;網絡策略&#xff0…

leetcode刷題日記——跳躍游戲 II

[ 題目描述 ]&#xff1a; [ 思路 ]&#xff1a; 題目要求在一個一定能達到數組末尾的跳躍數組中(見55題 跳躍游戲)&#xff0c;找出能夠跳到末尾的最小次數要求次數最少&#xff0c;那肯定是選取能選步數中最大的數。也就是在當前能夠達到的距離中&#xff0c;選擇能夠達到的…

【Java SE】Java比較器:Comparable、Comparator

目錄 1.前言 2.Comaprable接口 2.1 使用細節 2.2 案例演示 3.Comparator接口 3.1 為什么需要Comparator接口 3.2 使用細節 3.3 案例演示 4.Comparable、Comparator對比 1.前言 Java 中的對象&#xff0c;正常情況下&#xff0c;只能進行比較&#xff1a; 或 ! 。不…

(二)創建實例

在這節中&#xff0c; 創建一個實例初始化Vulkan庫,指定驅動程序需要使用的應用程序信息 1&#xff0c;要有個實例句柄 VkInstance instance; 2&#xff0c;設置創建Vulkan驅動程序需要的信息&#xff0c; VkInstanceCreateInfo createInfo {}; createInfo.sType VK_STRUCTUR…

HCIP之VRRP

1. VRRP是什么 VRRP&#xff08;Virtual Router Redundancy Protocol&#xff0c;虛擬路由冗余協議&#xff09;是一種用于提高網絡可靠性的容錯協議。它通過將多臺路由器虛擬成一臺虛擬路由器&#xff0c;實現網關的冗余備份。當主路由器&#xff08;Master&#xff09;出現故…

高效內存管理:x86-64架構中的分頁機制

在 x86-64 架構的世界里&#xff0c;內存分頁機制扮演著舉足輕重的角色&#xff0c;它就像是一座橋梁&#xff0c;連接著虛擬地址與物理地址。簡單來說&#xff0c;內存分頁機制就是將線性地址&#xff08;也就是虛擬地址&#xff09;切分成一個個固定大小的頁&#xff0c;并把…