nginx負(fù)載轉(zhuǎn)發(fā)源請求http/https:X-Forwarded-Proto及nginx中的轉(zhuǎn)發(fā)報頭
今天在排查服務(wù)器的問題時最后定位到服務(wù)器因為經(jīng)過了運維這一層的處理,轉(zhuǎn)發(fā)過來的請求不管用戶請求的是https還是http,我們的proxy服務(wù)器收到的都是80端口上的http。于是聯(lián)系相關(guān)部門了解有沒有現(xiàn)成的可用的這樣一個字段來獲得這個值。公司用的也是標(biāo)準(zhǔn)報頭,即X-Forwarded-Proto。
X-Forwarded-Proto(XFP)報頭是用于識別協(xié)議HTTP或HTTPS的,即用戶客戶端
實際連接到代理或負(fù)載均衡的標(biāo)準(zhǔn)報頭。
后端的服務(wù)器如果要確定客戶端和負(fù)載平衡器之間使用的協(xié)議,可以使用X-Forwarded-Proto
請求標(biāo)頭。
nginx是支持讀取非nginx標(biāo)準(zhǔn)
的用戶自定義header的,但是需要在http或者server下使用underscores_in_headers
開啟header的下劃線支持,然后使用proxy_set_header
向后端服務(wù)器發(fā)送字段X-Forwarded-Proto
。文章來源:http://www.zghlxwxcb.cn/news/detail-587809.html
#proxy_set_header上下文:http, server, location。語法:
proxy_set_header field value;
#默認(rèn)值:
proxy_set_header Host $proxy_host;
proxy_set_header Connection close;
#開啟header的下劃線支持:
underscores_in_headers on;
#設(shè)置向后端proxy發(fā)送X-Forwarded-Proto字段
proxy_set_header X-Forwarded-Proto $http_X_Forwarded_Proto;
proxy_set_header X-Real-IP $remote_addr;
在后端的服務(wù)器,使用$http_X_Forwarded_Proto
接收的,也可以使用小寫比如$http_x_forwarded_proto
來接收,前面都需要加上http_
。文章來源地址http://www.zghlxwxcb.cn/news/detail-587809.html
到了這里,關(guān)于nginx負(fù)載轉(zhuǎn)發(fā)源請求http/https:X-Forwarded-Proto及nginx中的轉(zhuǎn)發(fā)報頭的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!