Nginx請(qǐng)求頭丟失的問(wèn)題解決
1.問(wèn)題
新增的幾個(gè) header 參數(shù)是這樣的:
- api_key_id
- api_key_value
我配置有2層nginx轉(zhuǎn)發(fā),從機(jī)器A到機(jī)器B再到目標(biāo)服務(wù),遇到一個(gè)接口請(qǐng)求需要在header中傳遞api_key_id和api_key_value這2個(gè)參數(shù),但是在EC2機(jī)器上直接curl目標(biāo)服務(wù)的api url是可以的,運(yùn)行的命令:
curl -k -v -X GET 'https://676eea277d90484b8142-cn-heyuan-acdr-1-vpc.alicloudapi.com/v1/accounts/1248622328516666' --header 'api_key_id: 111923335' --header 'api_key_value: f540033e6cc8429f801dc2734ad261ea'
但是通過(guò)從機(jī)器A到機(jī)器B再到目標(biāo)服務(wù)這個(gè)鏈路卻不行,這個(gè)鏈路的命令:
curl -k -v -X GET https://baidu.net/dev/tlpssp/uesrapi/v1/accounts/1248622328517708 -H "api_key_id:111923335" -H "api_key_value:f540033e6cc8429f801dc2734ad261ea"
總是返回401,檢查了配置location都沒(méi)有問(wèn)題,但是目標(biāo)服務(wù)后端打印出來(lái)的參數(shù),是沒(méi)有api_key_id和api_key_value這2個(gè)參數(shù)的。
猜測(cè):
api_key_id和api_key_value這2個(gè)參數(shù)傳遞過(guò)程中丟失或則根本沒(méi)傳遞
2.解決
于是各種google發(fā)現(xiàn),是nginx配置的問(wèn)題,終于找到了一個(gè) Nginx 的配置參數(shù):underscores_in_headers,這個(gè)參數(shù)默認(rèn)值為:off,即默認(rèn)忽略帶下劃線的 header。
最終解決方案:
1、在 http 或者 server 配置中把 underscores_in_headers 配置參數(shù)開(kāi)關(guān)打開(kāi):
server { ... underscores_in_headers on; ... }
增加配置后,然后重啟 Nginx。
2、使用破折號(hào)(-)代替下劃線(_),或者統(tǒng)一規(guī)范直接不要使用下劃線;
一般所見(jiàn)的 headers 確實(shí)也都是中杠線,沒(méi)有下劃線。
本文最終選擇的是方案1,也就是增加配置: underscores_in_headers on;
到此這篇關(guān)于Nginx請(qǐng)求頭丟失的問(wèn)題解決的文章就介紹到這了,更多相關(guān)Nginx請(qǐng)求頭丟失內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx配置客戶端保存cookie的實(shí)現(xiàn)
本文主要介紹了nginx配置客戶端保存cookie的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Nginx配置txt、pdf、doc、xls等文件直接下載的方法
這篇文章主要介紹了Nginx配置txt、pdf、doc、xls等文件直接下載的方法,配置方法很簡(jiǎn)單,本文直接給出配置示例,需要的朋友可以參考下2015-04-04全面了解Nginx中的HTTP協(xié)議相關(guān)模塊配置
HTTP的處理是Nginx服務(wù)器的最重要功能,這里我們就帶大家來(lái)全面了解Nginx中的HTTP協(xié)議相關(guān)模塊配置,需要的朋友可以參考下2016-07-07nginx搭建文件服務(wù)器的詳細(xì)過(guò)程
這篇文章主要介紹了nginx搭建文件服務(wù)器,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06Nginx服務(wù)器中強(qiáng)制使用緩存的配置及緩存優(yōu)先級(jí)的講解
這篇文章主要介紹了Nginx服務(wù)器中強(qiáng)制使用緩存的配置及緩存優(yōu)先級(jí)的講解,一定程度上可以幫助大家解決Nginx不緩存或緩存失效的問(wèn)題,需要的朋友可以參考下2016-01-01Nginx反向代理中出現(xiàn)502錯(cuò)誤的解決步驟
反向代理是一種服務(wù)器代理的方式,它代理了客戶端的請(qǐng)求并將請(qǐng)求轉(zhuǎn)發(fā)給后端服務(wù)器,然后將后端服務(wù)器的響應(yīng)返回給客戶端,但經(jīng)常會(huì)遇到502錯(cuò)誤,所以本文給大家介紹了Nginx反向代理中出現(xiàn)502錯(cuò)誤的解決步驟,需要的朋友可以參考下2025-03-03nginx部署vue頁(yè)面白屏或刷新404問(wèn)題解決
最近部署vue項(xiàng)目后發(fā)現(xiàn)刷新頁(yè)面會(huì)404,本文就來(lái)介紹一下nginx部署vue頁(yè)面白屏或刷新404問(wèn)題解決,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10Nginx配置SSL證書監(jiān)聽(tīng)443端口
這篇文章主要為大家詳細(xì)介紹了Nginx配置SSL證書監(jiān)聽(tīng)443端口的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02