欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決使用了nginx獲取IP地址都是127.0.0.1 的問題

 更新時(shí)間:2021年09月18日 14:48:17   作者:明年上初中  
這篇文章主要介紹了解決使用了nginx獲取IP地址都是127.0.0.1 的問題,獲取i工具的完整代碼文中給大家提到,具體實(shí)例代碼跟隨小編一起看看吧

獲取ip工具

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;

import javax.servlet.http.HttpServletRequest;

/**
 * IP地址
 *
 * @date 2020年3月6日 下午12:57:02
 */
@Slf4j
public class IPUtils {

    /**
     * 獲取IP地址
     * 
     * 使用Nginx等反向代理軟件, 則不能通過request.getRemoteAddr()獲取IP地址
     * 如果使用了多級(jí)反向代理的話,X-Forwarded-For的值并不止一個(gè),而是一串IP地址,X-Forwarded-For中第一個(gè)非unknown的有效IP字符串,則為真實(shí)IP地址
     */
    public static String getIpAddr(HttpServletRequest request) {
        String ip = null;
        try {
            ip = request.getHeader("x-forwarded-for");
            if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
                ip = request.getHeader("Proxy-Client-IP");
            }
            if (StringUtils.isEmpty(ip) || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
                ip = request.getHeader("WL-Proxy-Client-IP");
            }
            if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
                ip = request.getHeader("HTTP_CLIENT_IP");
            }
            if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
                ip = request.getHeader("HTTP_X_FORWARDED_FOR");
            }
            if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
                ip = request.getRemoteAddr();
            }
        } catch (Exception e) {
            log.error("IPUtils ERROR ", e);
        }
        
        //使用代理,則獲取第一個(gè)IP地址
        if(StringUtils.isEmpty(ip) && ip.length() > 15) {
            if(ip.indexOf(",") > 0) {
                ip = ip.substring(0, ip.indexOf(","));
            }
        }
        
        return ip;
    }
    
}

如果你使用了nginx 則獲取到的ip都會(huì)是127.0.0.1

在代理中加入如下配置proxy_set_header x-forwarded-for $remote_addr;

server {
        listen          80;
        server_name     api.qimen.pro;
        # 服務(wù)器文件上傳大小限制
        client_max_body_size 10M;
        location / {
            proxy_pass   http://gymserver;
            proxy_set_header x-forwarded-for  $remote_addr;
        }
    }

到此這篇關(guān)于解決使用了nginx獲取IP地址都是127.0.0.1 的問題的文章就介紹到這了,更多相關(guān)nginx獲取IP地址問題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx可視化nginxWebUI的具體使用

    Nginx可視化nginxWebUI的具體使用

    NginxWebUI 是一款圖形化管理 nginx 配置的工具,可以使用網(wǎng)頁來快速配置 nginx單機(jī)與集群的各項(xiàng)功能,本文就來介紹一下Nginx網(wǎng)頁配置工具nginxWebUI的具體使用,感興趣的可以了解一下
    2023-08-08
  • nginx對(duì)http請(qǐng)求處理的各個(gè)階段詳析

    nginx對(duì)http請(qǐng)求處理的各個(gè)階段詳析

    這篇文章主要給大家介紹了關(guān)于nginx對(duì)http請(qǐng)求處理的各個(gè)階段分析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • nginx 如何實(shí)現(xiàn)讀寫限流的方法

    nginx 如何實(shí)現(xiàn)讀寫限流的方法

    這篇文章主要介紹了nginx 如何實(shí)現(xiàn)讀寫限流的方法的相關(guān)資料,這里提供實(shí)例代碼及如何配置,需要的朋友可以參考下
    2016-12-12
  • 在Nginx中配置image filter模塊來實(shí)現(xiàn)動(dòng)態(tài)生成縮略圖

    在Nginx中配置image filter模塊來實(shí)現(xiàn)動(dòng)態(tài)生成縮略圖

    這篇文章主要介紹了在Nginx中配置image filter模塊來實(shí)現(xiàn)動(dòng)態(tài)生成縮略圖的方法,包括縮略圖尺寸的設(shè)置等方面的介紹,需要的朋友可以參考下
    2015-12-12
  • centos服務(wù)器中配置nginx的方法示例

    centos服務(wù)器中配置nginx的方法示例

    這篇文章主要介紹了centos服務(wù)器中配置nginx的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Nginx設(shè)置成服務(wù)并開機(jī)自動(dòng)啟動(dòng)的配置

    Nginx設(shè)置成服務(wù)并開機(jī)自動(dòng)啟動(dòng)的配置

    Nginx?是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù),接下來通過本文給大家介紹Nginx設(shè)置成服務(wù)并開機(jī)自動(dòng)啟動(dòng)的配置,需要的朋友可以參考下
    2022-01-01
  • nginx?proxy_pass轉(zhuǎn)發(fā)規(guī)則解讀

    nginx?proxy_pass轉(zhuǎn)發(fā)規(guī)則解讀

    這篇文章主要介紹了nginx?proxy_pass轉(zhuǎn)發(fā)規(guī)則,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 解決nginx+lua搭建文件上傳下載服務(wù)問題

    解決nginx+lua搭建文件上傳下載服務(wù)問題

    這篇文章主要介紹了nginx+lua搭建文件上傳下載服務(wù),涉及到nginx安裝配置方法,本文通過代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2017-12-12
  • WordPress與Drupal的Nginx配置rewrite重寫規(guī)則示例

    WordPress與Drupal的Nginx配置rewrite重寫規(guī)則示例

    這篇文章主要介紹了WordPress與Drupal的Nginx配置重寫規(guī)則示例,文中介紹的rewrite寫法簡單而突出配置重點(diǎn),需要的朋友可以參考下
    2016-01-01
  • 一次nginx 504 Gateway Time-out錯(cuò)誤排查、解決記錄

    一次nginx 504 Gateway Time-out錯(cuò)誤排查、解決記錄

    這篇文章主要介紹了一次nginx 504 Gateway Time-out錯(cuò)誤排查、解決記錄,經(jīng)過反復(fù)檢查,發(fā)現(xiàn)造成這個(gè)問題的原因就是PHP的CURL沒有設(shè)置超時(shí)時(shí)間,解決辦法只要設(shè)置超時(shí)時(shí)間或者修改一下nginx的配置即可解決,需要的朋友可以參考下
    2014-05-05

最新評(píng)論