色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    9231

    瀏覽量

    85625
  • 文件
    +關注

    關注

    1

    文章

    568

    瀏覽量

    24769
  • 客戶端
    +關注

    關注

    1

    文章

    290

    瀏覽量

    16710
  • nginx
    +關注

    關注

    0

    文章

    151

    瀏覽量

    12189

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

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

收藏 人收藏

    評論

    相關推薦

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

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

    主要學習下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 ?654次閱讀

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

    KT142C語音芯片配置文件總是不起作用?配置文件的問題集中歸納
    的頭像 發表于 10-20 15:04 ?585次閱讀
    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 ?2288次閱讀

    springboot的全局配置文件有幾種

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

    php的配置文件是什么

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

    oracle配置文件類型關聯

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

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

    應用配置文件中包含應用配置信息、應用組件信息、權限信息、開發者自定義信息等,這些信息在編譯構建、
    的頭像 發表于 06-15 09:15 ?1706次閱讀
    鴻蒙開發:【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 ?243次閱讀
    主站蜘蛛池模板: 精品久久久无码21P发布| 国产免费怕怕免费视频观看| 无套日出白浆在线播放| 欧美巨大xxxx做受孕妇视频| 精品免费视在线视频观看| 国产亚洲精品精品精品 | jizzjizz中国大学生| 诱受H嗯啊巨肉舍友1V1| 一道本在线伊人蕉无码| 亚洲精品久久99蜜芽尤物TV| 亚洲 欧美 综合 高清 在线| 午夜射精日本三级| 忘忧草在线| 亚洲 视频 在线 国产 精品| 亚洲 欧美 日本 国产 高清| 亚瑟天堂久久一区二区影院| 亚洲国产夜色在线观看| 亚洲精品一二三区区别在哪| 亚洲1区2区3区精华液| 亚洲欧美在无码片一区二区| 亚洲欧洲精品成人久久曰影片| 野花日本韩国视频免费高清观看 | 最美白嫩的极品美女ASSPICS| 131美女爱做视频午夜剧场| 2021乱码精品公司| a圾片目录大全| 成人免费公开视频| 国产精品久久久久影院| 国内久久久久影院精品| 激情内射亚州一区二区三区爱妻| 九色PORNY丨视频入口| 看免费人成va视频全| 男女夜晚在爽视频免费观看| 欧美午夜精品A片一区二区HD| 日韩欧美群交P内射捆绑| 午夜福利视频极品国产83| 亚洲色偷偷偷网站色偷一区人人藻 | 国产又湿又黄又硬又刺激视频| 黄片在线观看| 老师小扫货水能么多叫出来| 欧美亚洲国产激情一区二区|