< 返回

在nginx中根據用戶真實IP進行限制

2024-11-19 17:30 作者:xiao gang 閱讀量:3299

在 NGINX 中根據用戶的真實 IP 進行限制,可以通過配置 geo 模塊和 http 相關的配置來實現。以下是一個基本的步驟和示例:

步驟

  1. 獲取真實 IP: 如果 NGINX 后面有反向代理(如 Cloudflare、nginx-proxy 等),需要確保能夠獲取到用戶的真實 IP。你需要配置 real_ip 模塊。

  2. 配置 geo 模塊: 使用 geo 指令來定義一個變量,該變量可以根據 IP 地址進行限制。

  3. 配置訪問控制: 使用 limit_req 或 deny 指令根據真實 IP 進行限制。

示例配置

以下是一個基本的示例配置,限制某個 IP 地址的請求速率,并允許通過 X-Forwarded-For 獲取到真實的客戶端 IP。

http {
    # 開啟 real_ip 模塊以獲取真實 IP
    set_real_ip_from  192.0.2.0;  # 反向代理服務器的 IP
    set_real_ip_from  203.0.113.0; # 反向代理服務器的 IP
    real_ip_header    X-Forwarded-For;

    # 定義一個限制請求速率的區域
    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

    server {
        listen 80;
        server_name example.com;

        location / {
            # 應用請求速率限制
            limit_req zone=one burst=5 nodelay;

            # 處理請求的其他配置
            proxy_pass http://backend;
        }

        # 拒絕某些 IP 地址
        deny 192.0.2.100;  # 拒絕特定 IP 地址
        allow all;         # 允許所有其他 IP
    }
}

說明

  1. set_real_ip_from: 這條指令用于告訴 NGINX 哪些 IP 地址是可信的代理。如果你的 NGINX 服務器前面有負載均衡器或 CDN,確保將它們的 IP 添加到這里。

  2. real_ip_header: 指定從哪個 HTTP 頭獲取真實的客戶端 IP,這里使用的是 X-Forwarded-For。

  3. limit_req_zone: 定義一個請求限速區域,$binary_remote_addr 是用戶的真實 IP 地址。這里設置為每秒一個請求,最大突發請求為 5 個。

  4. limit_req: 在 location 塊中應用請求限制。

  5. deny 和 allow: 可以根據 IP 地址拒絕或允許訪問。

注意事項

  • 確保你的 NGINX 配置文件無誤,并使用 nginx -t 命令檢查配置。

  • 重新加載 NGINX 配置,使用 nginx -s reload。

  • 根據你的實際需求調整速率限制和允許/拒絕的 IP 地址。

這樣配置后,NGINX 就可以根據用戶的真實 IP 進行請求限制。

聯系我們
返回頂部 主站蜘蛛池模板: 97人洗澡从澡人人爽人人模| 亚洲av无码一区二区三区鸳鸯影院| 97久人人做人人妻人人玩精品| 欧美成人在线免费| 国产男女视频在线观看| 亚洲AV无一区二区三区久久 | 电车上强制波多野结衣| 国模无码视频一区| 亚洲伊人久久精品| 高清有码国产一区二区| 成人性生活免费视频| 人妻无码一区二区三区免费| 8888奇米影视笫四色88me| 最近中文字幕国语免费完整| 国产亚洲精彩视频| 一个人www免费看的视频| 欧美精品国产综合久久| 国产成人无码AV一区二区| 中文字幕在线观看91| 男人扒开女人的腿做爽爽视频| 国产精品无码久久久久久| 久久天堂夜夜一本婷婷麻豆| 精品天海翼一区二区| 国语自产精品视频在线第| 亚洲va中文字幕无码毛片| 羞羞色在线观看| 美女黄色毛片免费看| 大肚子孕妇交xxxgif| 亚洲ts人妖网站| 美女极度色诱视频国产| 国内精品久久人妻互换| 久久免费视频一区| 男人桶女人视频30分钟看看吧 | 久久亚洲最大成人网4438| 新婚熄与翁公老张林莹莹| 亚洲精品短视频| 黄页网址大全免费观看35| 日韩免费无砖专区2020狼| 免费看男阳茎进女阳道动态图| 看黄色免费网站| 成人无码精品1区2区3区免费看|