中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx基礎學習之如何使用realip模塊

發布時間:2020-07-18 15:33:33 來源:億速云 閱讀:406 作者:小豬 欄目:服務器

這篇文章主要為大家展示了Nginx基礎學習之如何使用realip模塊,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

realip模塊

用途 :當本機 Nginx 處于反向代理后端時可以獲取到用戶的 真實IP地址 。

使用 : realip 功能需要 Nginx 添加 ngx_http_realip_module 模塊,默認情況下是不被編譯,如果需要添加,請在編譯時添加 --with-http_realip_module 選項開啟它。

realip 作用域

set_real_ip_from 、 real_ip_header 和 real_ip_recursive 都可以用于 http 、 server 、 location 區域配置。

realip 部分參數解釋

  • set_real_ip_from :設置反向代理服務器,即信任服務器IP
  • real_ip_header X-Forwarded-For :用戶真實IP存在 X-Forwarded-For 請求頭中
  • real_ip_recursive :
    • off :會將 real_ip_header 指定的HTTP頭中的最后一個IP作為真實IP
    • on :會將 real_ip_header 指定的HTTP頭中的最后一個不是信任服務器的IP當成真實IP
         

http 頭中的 X-Forwarded-For、X-Real-IP、Remote Address 解釋

X-Forwarded-For 位于HTTP請求頭,是HTTP的擴展 header ,用于表示HTTP請求端 真實IP 。

格式如下:

X-Forwarded-For: client, proxy1, proxy2

Nginx 代理一般配置為:

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

解釋:

  • X-Forwarded-For :Nginx追加上去的,但前面部分來源于nginx收到的請求頭,這部分內容不是 很可信 。符合IP格式的才可以使用,否則容易引發 XSS 或者 SQL注入漏洞 。
  • Remote Address :HTTP協議沒有IP的概念, Remote Address 來自于TCP連接,表示與服務端建立TCP連接的設備IP,因此,Remote Address無法偽造。
  • X-Real-IP :HTTP代理用于表示與它產生TCP連接的設備IP,可能是其他代理,也可能是真正的請求端。
     

realip 功能舉例說明

下面是一個簡單的架構圖:

Nginx基礎學習之如何使用realip模塊

假設一:

1、如果 Nginx 沒有使用 realip模塊 ,第二臺 Nginx中 X-Forwarded-For 請求是 1.1.1.1,但 remote_addr 地址是 2.2.2.2,這時應用服務可以通過 X-Forwarded-For 字段獲取用戶真實IP。不過這里有點風險,如果中間多幾層反向代理服務,就無法獲取唯一一個用戶真實IP。

2、如果 Nginx 使用 realip模塊 ,并如下設置;Nginx 會取 X-Forwarded-For 最后一個IP也就是 2.2.2.2 作為真實IP。最后應用服務拿到的地址也是 2.2.2.2,但事實這不是用戶IP。

set_real_ip_from 2.2.2.2;
set_real_ip_from 2.2.2.3; 
real_ip_header X-Forwarded-For; 
real_ip_recursive off;

3、如果 Nginx 使用 realip模塊 ,并如下設置;由于 2.2.2.2 是信任服務器IP,Nginx 會繼續往前查找,發現 1.1.1.1 不是信任服務器IP,就認為是真實IP。但事實 1.1.1.1 也就是用戶IP。最后應用服務也拿到唯一的用戶真實IP。

set_real_ip_from 2.2.2.2;
set_real_ip_from 2.2.2.3; 
real_ip_header X-Forwarded-For; 
real_ip_recursive on;

以上就是關于Nginx基礎學習之如何使用realip模塊的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沈丘县| 云南省| 石门县| 凯里市| 大港区| 蒲城县| 湘潭市| 怀宁县| 丹凤县| 汝州市| 林周县| 谷城县| 韩城市| 尚志市| 当阳市| 丰原市| 孟州市| 米易县| 青河县| 芜湖县| 九江市| 海盐县| 垦利县| 弋阳县| 江西省| 密山市| 洪泽县| 天津市| 黄平县| 剑川县| 来安县| 河间市| 梓潼县| 岳西县| 中江县| 阿拉善盟| 庆城县| 普宁市| 镇赉县| 四平市| 纳雍县|