国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

nginx配置解析之客戶端真實IP的傳遞

Lsnsh / 3519人閱讀

摘要:前后端分離之后,采用作為靜態(tài)服務(wù)器,并通過反向代理的方式實現(xiàn)接口跨域的方式,在降低開發(fā)成本的同時也帶來了諸多問題,例如客戶端真實的獲取。

前后端分離之后,采用nginx作為靜態(tài)服務(wù)器,并通過反向代理的方式實現(xiàn)接口跨域的方式,在降低開發(fā)成本的同時也帶來了諸多問題,例如客戶端真實IP的獲取。

在一些特殊場景下,比如風(fēng)控和支付流程,往往需要獲取用戶的ip信息,但是nginx反向代理在實現(xiàn)跨域的同時,也徹底地改變了服務(wù)端請求來源,隔離了用戶和服務(wù)端的連接,如下圖

用戶訪問前端頁面"https://a.test.com/index/html",調(diào)用支付接口的時候,支付接口的地址是"https://a.test.com/goPay",然后由nginx反向代理到server端的"https://b.test.com/goPay"。這個時候?qū)τ趕erver端來說,他接到的請求都是來自nginx服務(wù)器的,此時server 端默認(rèn)獲取到的ip則是nginx服務(wù)器的ip。這并不是我們想要的。這個時候就需要添加如下配置:

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

三個header分別表示:

X-Real-IP            客戶端或上一級代理ip
X-Real-Port          客戶端或上一級端口
X-Forwarded-For      包含了客戶端和各級代理ip的完整ip鏈路

其中X-Real-IP是必需的,后兩項選填。當(dāng)只存在一級nginx代理的時候X-Real-IP和X-Forwarded-For是一致的,而當(dāng)存在多級代理的時候,X-Forwarded-For 就變成了如下形式

X-Forwarded-For: 客戶端ip, 一級代理ip, 二級代理ip...

在獲取客戶端ip的過程中雖然X-Forwarded-For是選填的,但是個人建議還是保留這,以便出現(xiàn)安全問題的時候,可以根據(jù)日志文件回溯來源。

有個坑~

除了上述配置部分網(wǎng)友還給了一個host的header

proxy_set_header Host $host;

首先這個header并不是必需的,其次這個header host和proxy_pass轉(zhuǎn)發(fā)產(chǎn)生的hostheader會出現(xiàn)沖突,導(dǎo)致接口502的情況。但是這個配置更新后,nginx重啟包括使用nginx -t進(jìn)行測試也不會報錯,這個值得大家注意一下。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/40086.html

相關(guān)文章

  • 一個網(wǎng)頁形成過程

    摘要:一個網(wǎng)頁從我們輸入網(wǎng)址到打開經(jīng)歷了以下步驟。如果沒有或記錄已經(jīng)過期,則向域名解析服務(wù)器發(fā)送解析請求。服務(wù)器收到請求,產(chǎn)生響應(yīng),并將網(wǎng)頁發(fā)送給負(fù)載均衡服務(wù)器。負(fù)載均衡服務(wù)器將網(wǎng)頁傳遞給鏈處理,之后發(fā)回給我們的瀏覽器。 一個網(wǎng)頁從我們輸入網(wǎng)址到打開經(jīng)歷了以下步驟。 showImg(https://segmentfault.com/img/bVbpfj2?w=232&h=555); DNS...

    WelliJhon 評論0 收藏0
  • CORS跨域與Nginx反向代理跨域優(yōu)劣對比

    摘要:最近寫了一些關(guān)于前后端分離項目之后,跨域相關(guān)方案的基本原理和常見誤區(qū)的帖子,主要包括和反向代理。反向代理此時后端相當(dāng)于不跨域,和正常請求一致,無需額外配置。 最近寫了一些關(guān)于前后端分離項目之后,跨域相關(guān)方案的基本原理和常見誤區(qū)的帖子,主要包括CORS和Nginx反向代理。這兩種方案項目中都有在用,各有優(yōu)缺,關(guān)于具體使用哪種方案,大家的觀點也不大一致,本文主要就此展開一下,從前后端及服務(wù)...

    yiliang 評論0 收藏0
  • Nginx前端設(shè)置反向代理,后端Apache如何獲取訪客真實IP,結(jié)合PHP。

    摘要:總結(jié)在作為反向代理的架構(gòu)中,的其他語言也是類似的名稱拿到的將會是代理的地址。本意就是遠(yuǎn)程的地址,是代理層,轉(zhuǎn)發(fā)請求到,獲取到的遠(yuǎn)程地址實際上是反向代理服務(wù)器,這是符合協(xié)議規(guī)則的。 nginx反向代理后,在應(yīng)用中取得的ip都是反向代理服務(wù)器的ip,取得的域名也是反向代理配置的url的域名,解決該問題,需要在nginx反向代理配置中添加一些配置信息,目的將客戶端的真實ip和域名傳遞到應(yīng)用程...

    OpenDigg 評論0 收藏0
  • Nginx前端設(shè)置反向代理,后端Apache如何獲取訪客真實IP,結(jié)合PHP。

    摘要:總結(jié)在作為反向代理的架構(gòu)中,的其他語言也是類似的名稱拿到的將會是代理的地址。本意就是遠(yuǎn)程的地址,是代理層,轉(zhuǎn)發(fā)請求到,獲取到的遠(yuǎn)程地址實際上是反向代理服務(wù)器,這是符合協(xié)議規(guī)則的。 nginx反向代理后,在應(yīng)用中取得的ip都是反向代理服務(wù)器的ip,取得的域名也是反向代理配置的url的域名,解決該問題,需要在nginx反向代理配置中添加一些配置信息,目的將客戶端的真實ip和域名傳遞到應(yīng)用程...

    Richard_Gao 評論0 收藏0
  • docker進(jìn)階,nginx部署幾個重要點詳解以及開發(fā)流程---持續(xù)更新

    摘要:無論這個連接是外部主動建立的,還是內(nèi)部建立的。協(xié)議有表示層數(shù)據(jù)的表示安全壓縮。在整個發(fā)展過程中的所有思想和著重點都以一種稱為的文檔格式存在。 部署基礎(chǔ)知識url:協(xié)議://網(wǎng)站地址:端口(/)路徑地址?參數(shù)eg: http://www.baidu.com:80/abc/dd/ www.baidu.com找服務(wù)器 80端口:找服務(wù)器上提供服務(wù)的應(yīng)用 nginx uri:/ab...

    KunMinX 評論0 收藏0

發(fā)表評論

0條評論

Lsnsh

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<