nginx代理后端路徑獲取IP為127.0.0.1問題
nginx代理后端路徑獲取IP為127.0.0.1
前后端分離場景,前端路徑為A,后端真實(shí)路徑為B,前端使用相對(duì)路徑/api訪問后端,配置為A/api。
此時(shí)客戶端通過A/api訪問會(huì)丟失真實(shí)的IP,而直接訪問后臺(tái)真實(shí)路徑B不會(huì)。
示例:
無效配置
#此配置后臺(tái)無法獲取客戶端真實(shí)IP
server {
listen 5555;
#前端
location / {
root xx/xx;
index index.html;
}
#后臺(tái)
location /api/ {
proxy_pass http://127.0.0.1:6666/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}加上如下配置
#保留代理之前的host 包含客戶端真實(shí)的域名和端口號(hào) proxy_set_header Host $host; #保留代理之前的真實(shí)客戶端ip proxy_set_header X-Real-IP $remote_addr; #這個(gè)Header和X-Real-IP類似,但它在多級(jí)代理時(shí)會(huì)包含真實(shí)客戶端及中間每個(gè)代理服務(wù)器的IP proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #表示客戶端真實(shí)的協(xié)議(http還是https) proxy_set_header X-Forwarded-Proto $scheme;
有效配置
server {
listen 5555;
#前端
location / {
root xx/xx;
index index.html;
}
#后臺(tái)
location /api/ {
#保留代理之前的host 包含客戶端真實(shí)的域名和端口號(hào)
proxy_set_header Host $host;
#保留代理之前的真實(shí)客戶端ip
proxy_set_header X-Real-IP $remote_addr;
#這個(gè)Header和X-Real-IP類似,但它在多級(jí)代理時(shí)會(huì)包含真實(shí)客戶端及中間每個(gè)代理服務(wù)器的IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#表示客戶端真實(shí)的協(xié)議(http還是https)
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:6666/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Nginx用htpasswd對(duì)網(wǎng)站進(jìn)行密碼保護(hù)的設(shè)置方法
很多時(shí)候我們需要對(duì)一些網(wǎng)站進(jìn)行密碼保護(hù),比如團(tuán)隊(duì)內(nèi)部的站點(diǎn)、demo站點(diǎn)等等。這里所說的密碼保護(hù)是服務(wù)器級(jí)的,并非網(wǎng)站應(yīng)用層的注冊(cè)登錄那一套,而是利用服務(wù)器配置和htpasswd文件來實(shí)現(xiàn)訪問的密碼驗(yàn)證2013-06-06
Nginx實(shí)現(xiàn)負(fù)載均衡和反向代理的方法
Nginx是由俄羅斯人研發(fā)的,應(yīng)對(duì)Rambler的網(wǎng)站,并且2004年發(fā)布的第一個(gè)版本,Nginx功能豐富,可作為HTTP服務(wù)器,也可作為反向代理服務(wù)器,郵件服務(wù)器,本文給大家介紹了Nginx實(shí)現(xiàn)負(fù)載均衡和反向代理的方法,需要的朋友可以參考下2024-02-02
nginx+tomcat 通過域名訪問項(xiàng)目的實(shí)例
這篇文章主要介紹了nginx+tomcat 通過域名訪問項(xiàng)目的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05
由于Nginx配置文件問題導(dǎo)致打不開網(wǎng)站unknown directive的解決
這篇文章主要介紹了由于Nginx配置文件問題導(dǎo)致打不開網(wǎng)站unknown directive,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06
Nginx反向代理在Web應(yīng)用中的實(shí)戰(zhàn)分享
本文將介紹Nginx反向代理的基本原理和配置,以及如何利用Nginx實(shí)現(xiàn)高可用性和故障轉(zhuǎn)移,最后,我們將探討如何監(jiān)控Nginx反向代理的性能并進(jìn)行日志分析,需要的朋友可以參考下2024-08-08
Nginx訪問靜態(tài)資源配置的實(shí)現(xiàn)步驟
Nginx 擅長于底層服務(wù)器端資源的處理,例如靜態(tài)資源處理轉(zhuǎn)發(fā)、反向代理,負(fù)載均衡等,本文主要介紹了Nginx訪問靜態(tài)資源配置的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09

