最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nginx獲取真實客戶端ip實現(xiàn)過程

 更新時間:2026年06月25日 09:29:41   作者:YiJavaMan  
這段文章介紹了如何配置Nginx作為反向代理服務(wù)器以獲取真實客戶端IP,并并提供了在Java程序中通過特定頭部獲取該IP的方法;強調(diào)了配置Nginx以實現(xiàn)反向代理和獲取真實IP的重要性

nginx作為反向代理服務(wù)器,即代理我們的服務(wù)端,下面介紹下如何配置nginx獲取真實的客戶端ip

1、配置nginx.con

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
           proxy_pass http://127.0.0.1:8080;
           root   html;
           index  index.html index.htm;

        #獲取真實ip配置
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

2、在java程序中可以通過如下方式獲取

    @GetMapping(value = "/getRealIp")
    public String getRealIp(){
        log.info(request.getRemoteAddr());
        log.info(request.getRequestURL().toString());
        log.info("端口" + request.getRemotePort() + "");


        log.info("======================");
        log.info("真實ip:{}",getClientIP());

        return request.getRemoteAddr() + "\n" +
                request.getRequestURL();

    }

 /***
     * 獲取客戶端IP地址;這里通過了Nginx獲取;X-Real-IP
     */
    public String getClientIP() {
        String fromSource = "X-Real-IP";
        String ip = request.getHeader("X-Real-IP");
        log.info("X-Real-IP 初始化值的ip:{} ", ip);
//        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("X-Forwarded-For");
            fromSource = "X-Forwarded-For";
            log.info("X-Forwarded-For賦值成功ip:{} ", ip);
//        }
//        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("Proxy-Client-IP");
            fromSource = "Proxy-Client-IP";
            log.info("Proxy-Client-IP賦值成功ip:{} ", ip);
//        }
//        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("WL-Proxy-Client-IP");
            fromSource = "WL-Proxy-Client-IP";
            log.info("WL-Proxy-Client-IP賦值成功ip:{} ", ip);
//        }
//        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getRemoteAddr();
            fromSource = "request.getRemoteAddr";
            log.info("RemoteAddr賦值成功ip:{} ", ip);
//        }
        return ip;
    }

這樣就可以打印出真實ip了!

即request.getHeader("X-Real-IP")的值

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 為Nginx添加SPDY功能

    為Nginx添加SPDY功能

    我也開始嘗試著給自己的論壇加上SPDY協(xié)議,WEB服務(wù)器本人選擇的是nginx,在過去,Nginx并沒有內(nèi)置SPDY協(xié)議,需要打開的話還要下載開發(fā)版然后手動編譯,很不方便
    2014-12-12
  • Nginx反向代理重寫URL的實現(xiàn)方案

    Nginx反向代理重寫URL的實現(xiàn)方案

    nginx服務(wù)器代理前端項目,并且反代后端服務(wù)器,開發(fā)時使用沒有什么問題,部署后存在同樣請求根地址的情況,但是去調(diào)用后端接口就會出現(xiàn)報錯,最后通過重寫url解決問題,所以本文給大家介紹了Nginx反向代理重寫URL的實現(xiàn)方案,需要的朋友可以參考下
    2025-04-04
  • Nginx反向代理出現(xiàn)502?Bad?Gateway問題解決

    Nginx反向代理出現(xiàn)502?Bad?Gateway問題解決

    在配置Nginx反向代理時遇到502 Bad Gateway錯誤,經(jīng)過排查發(fā)現(xiàn)是SSL握手問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-10-10
  • ubuntu 下的nginx服務(wù)器配置詳解

    ubuntu 下的nginx服務(wù)器配置詳解

    這篇文章主要介紹了ubuntu 下的nginx服務(wù)器配置詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • nginx配置多個虛擬主機vhost的方法示例

    nginx配置多個虛擬主機vhost的方法示例

    這篇文章主要介紹了nginx配置多個虛擬主機vhost的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • Nginx跨域訪問配置方式(Web反向代理跨域訪問配置)

    Nginx跨域訪問配置方式(Web反向代理跨域訪問配置)

    這篇文章主要介紹了Nginx跨域訪問配置方式(Web反向代理跨域訪問配置),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • nginx配置proxy_pass中url末尾帶/與不帶/的區(qū)別詳解

    nginx配置proxy_pass中url末尾帶/與不帶/的區(qū)別詳解

    這篇文章主要介紹了nginx配置proxy_pass中url末尾帶/與不帶/的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • nginx安裝vsftpd最簡流程

    nginx安裝vsftpd最簡流程

    給大家分享一下在nginx環(huán)境中最簡單的安裝vsftpd的流程,初學者跟著學習下吧。
    2017-12-12
  • 提升Nginx性能的一些建議

    提升Nginx性能的一些建議

    這篇文章主要介紹了提升Nginx性能的一些建議,幫助大家更好的使用nginx,感興趣的朋友可以了解下
    2020-09-09
  • Nginx指令add_header和proxy_set_header的區(qū)別及說明

    Nginx指令add_header和proxy_set_header的區(qū)別及說明

    這篇文章主要介紹了Nginx指令add_header和proxy_set_header的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03

最新評論

石渠县| 双流县| 肇源县| 武宁县| 彩票| 洛宁县| 九台市| 鹿泉市| 郯城县| 田东县| 佛山市| 剑河县| 申扎县| 郯城县| 沂水县| 罗山县| 宽甸| 山东省| 龙川县| 桐乡市| 青田县| 绥阳县| 公安县| 巨野县| 成武县| 仁寿县| 沙洋县| 裕民县| 南澳县| 英吉沙县| 甘谷县| 苍溪县| 赞皇县| 栾川县| 叶城县| 鱼台县| 铁力市| 宜宾市| 北辰区| 永丰县| 历史|