在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Nginx的配置文件如何設置頭信息保留真實IP不丟失

馬哥Linux運維 ? 來源:稀土掘金技術社區 ? 2023-11-30 10:54 ? 次閱讀

在 Nginx 配置中設置頭信息以保留客戶端的真實 IP 地址通常是在使用反向代理的場景中需要的。當 Nginx 作為反向代理時,客戶端的真實 IP 地址可能會在轉發請求時丟失,因為到達應用服務器的請求看起來是從 Nginx 代理服務器發出的。為了解決這個問題,你可以使用X-Real-IP或X-Forwarded-For頭信息來轉發真實的客戶端 IP。

這里是一個基本的配置示例:


server {
    listen 80


    location / {
        proxy_set_header Host $host
        proxy_set_header X-Real-IP $remote_addr
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
        proxy_pass http://backend_server
    }
}

proxy_set_header Host $host;將請求的 Host 頭設置為原始請求的 Host 頭。

proxy_set_header X-Real-IP $remote_addr;將真實的客戶端 IP 地址添加到請求頭中。這里的$remote_addr是 Nginx 變量,代表客戶端的 IP 地址。

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;添加一個X-Forwarded-For頭,其中包含原始客戶端的 IP 地址。$proxy_add_x_forwarded_for會追加客戶端的 IP 地址到已有的X-Forwarded-For頭信息中,如果存在的話。

請確保將http://backend_server替換為你的后端服務器的實際地址。

此外,確保你的應用服務器或框架已配置為從這些頭信息中讀取真實的客戶端 IP 地址。不同的應用和框架可能有不同的配置方法來支持這一點。

java代碼里怎么獲取真是的客戶端ip

在 Java 應用中獲取真實的客戶端 IP 地址通常涉及到解析 HTTP 請求的頭信息。當你的應用部署在一個反向代理(如 Nginx)后面時,代理通常會在每個請求中添加特定的頭信息(例如X-Real-IP或X-Forwarded-For),以傳遞原始客戶端的 IP 地址。

以下是一個基本的 Java 代碼示例,展示了如何在一個基于 Servlet 的應用中獲取這些頭信息:


javaCopy code
import javax.servlet.http.HttpServletRequest;


public class NetworkUtils {


    public static String getClientIp(HttpServletRequest request) {
        String xForwardedForHeader = request.getHeader("X-Forwarded-For");
        if (xForwardedForHeader == null) {
            return request.getRemoteAddr();
        } else {
            
            
            return xForwardedForHeader.split(",")[0].trim();
        }
    }
}

在這個例子中,getClientIp方法首先檢查X-Forwarded-For頭信息。如果這個頭信息存在,方法會解析它并返回列表中的第一個 IP 地址,因為X-Forwarded-For可能包含由多個代理添加的多個 IP 地址,其中第一個通常是原始客戶端的 IP 地址。如果X-Forwarded-For頭信息不存在,方法會回退到使用HttpServletRequest的getRemoteAddr()方法,這通常返回直接建立連接的客戶端(在這種情況下是代理服務器)的 IP 地址。

請注意,當處理來自不受信任源的X-Forwarded-For頭信息時,需要謹慎,因為它可能被惡意客戶端偽造。確保你的應用只在可信任的代理后面運行,并且考慮驗證頭信息中的 IP 地址。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9335

    瀏覽量

    86136
  • 文件
    +關注

    關注

    1

    文章

    571

    瀏覽量

    24834
  • 客戶端
    +關注

    關注

    1

    文章

    291

    瀏覽量

    16773
  • nginx
    +關注

    關注

    0

    文章

    154

    瀏覽量

    12241

原文標題:Nginx的配置文件如何設置頭信息保留真實IP不丟失

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux上Nginx獲得最佳性能的8種方法

    NGINX 是一種流行的、免費的開源 Web 服務器。默認的 NGINX 配置足以讓 Web 服務器正常工作。 但是,如果您想充分利用 NGINX,則需要使用其
    發表于 01-16 09:51 ?562次閱讀

    主要學習下nginx的安裝配置

    ##setenforce 1 設置SELinux 成為enforcing模式修改配置文件(需要重啟機器):修改/etc/selinux/config 文件,將SELINUX=enforcing改為SELINUX
    發表于 10-19 14:12

    開卡配置文件設置工具,sss量產INI文件設置工具

    開卡配置文件設置工具,sss量產INI文件設置工具
    發表于 04-21 01:22 ?27次下載
    開卡<b class='flag-5'>配置文件</b><b class='flag-5'>設置</b>工具,sss量產INI<b class='flag-5'>文件</b><b class='flag-5'>設置</b>工具

    ICD配置文件的詳細介紹和配置內容的詳細概述

    配置文件配置文件是利用SCL語言描述變電站設備對象模型后生成的文件,用于在不同廠商的配置工具之間交換配置信息
    的頭像 發表于 06-02 11:16 ?1.8w次閱讀
    ICD<b class='flag-5'>配置文件</b>的詳細介紹和<b class='flag-5'>配置</b>內容的詳細概述

    AD8283評估板設計和配置文件

    AD8283評估板設計和配置文件
    發表于 05-31 16:04 ?9次下載
    AD8283評估板設計和<b class='flag-5'>配置文件</b>

    labview讀寫配置文件實例分享

    labview讀寫配置文件實例分享
    發表于 11-01 16:05 ?45次下載

    SpringBoot配置文件application

    Map配置 YML配置文件: sys-num: mymap: "{'a':'aaa','b':'bbb'}" 方法內: public class learnMap { @Value
    的頭像 發表于 01-13 15:28 ?681次閱讀

    KT142C語音芯片配置文件總是不起作用?配置文件的問題集中歸納

    KT142C語音芯片配置文件總是不起作用?配置文件的問題集中歸納
    的頭像 發表于 10-20 15:04 ?638次閱讀
    KT142C語音芯片<b class='flag-5'>配置文件</b>總是不起作用?<b class='flag-5'>配置文件</b>的問題集中歸納

    ubuntu系統ip地址配置

    配置。但是這種方式只能臨時修改,當服務器重啟后,配置信息丟失。 直接修改配置文件。Ubuntu系統的配置文件在:/etc/network/
    的頭像 發表于 11-13 17:01 ?1.3w次閱讀

    linux修改網卡ip配置文件

    Linux是一種開源的操作系統,因此,它給用戶提供了很高的自由度,可以根據個人需要進行各種定制和配置。其中,修改網絡接口配置文件是常見的操作,可以通過修改網卡ip配置文件
    的頭像 發表于 11-17 10:51 ?2402次閱讀

    springboot的全局配置文件有幾種

    Spring Boot是一種快速開發框架,其通過提供配置文件來實現對應用程序的配置。全局配置文件在Spring Boot中起著非常重要的作用,可以用于配置各種不同的屬性,包括數據庫連接
    的頭像 發表于 12-03 15:28 ?1660次閱讀

    php的配置文件是什么

    配置文件的名稱默認為php.ini。該文件通常位于PHP安裝目錄下的conf文件夾中。當PHP解釋器啟動時,會自動加載php.ini文件,并根據其中的
    的頭像 發表于 12-04 15:55 ?1622次閱讀

    oracle配置文件類型關聯

    ,并介紹它們之間的關聯關系。 init.ora文件 init.ora文件是Oracle數據庫的主要配置文件之一。它包含了數據庫實例的各種參數設置,例如SGA大小、用戶連接數、日志模式等
    的頭像 發表于 12-06 10:17 ?529次閱讀

    鴻蒙開發:【Stage模型應用配置文件

    應用配置文件中包含應用配置信息、應用組件信息、權限信息、開發者自定義信息等,這些信息在編譯構建、
    的頭像 發表于 06-15 09:15 ?1797次閱讀
    鴻蒙開發:【Stage模型應用<b class='flag-5'>配置文件</b>】

    linux網卡配置文件

    /network-scripts/ifcfg-lo ? ? (1)配置虛擬機網絡 (2)編輯系統網卡配置文件 動態IP 鏈接:https://www.cnblogs.com/btcm409181423/p/17977163 ?
    的頭像 發表于 12-10 10:09 ?333次閱讀
    主站蜘蛛池模板: 潘金莲国产三级视频在线 | 欧美草逼 | 人人莫| 真人一级一级特黄高清毛片 | 午夜影院一级片 | 我把美女日出白浆 | 国内精品免费视频精选在线观看 | 女人精69xxxxxx| 日日摸人人拍人人澡 | 日本三级香港三级人妇 m | 男人的天堂视频网站清风阁 | 国产成人高清精品免费5388密 | 国产精品成人免费观看 | 高清不卡毛片 | 韩国特黄特色a大片免费 | 69日本xxxxxxxxx13 69日本xxxxxxxxx18 | 久青草久青草高清在线播放 | 久久九九色 | 黄色在线视频免费看 | 日本国产在线 | 免费国产黄网站在线观看视频 | 激情福利 | 欧美视频a | 一级骚片超级骚在线观看 | 成年男人午夜片免费观看 | 天天干天天拍天天射天天添天天爱 | 天堂网www最新版在线资源 | 四虎影视大全免费入口 | 秋霞一级特黄真人毛片 | 免费福利午夜影视网 | 亚洲欧美强伦一区二区另类 | 国产精品美女在线 | 婷婷综合激六月情网 | 欧美精品啪啪 | 日韩第十页 | 欧美午夜精品 | 欧美成人激情在线 | 仙踪林欧美另类视频 | 午夜影皖普通区 | 亚洲一区免费观看 | 午夜黄色福利视频 |