Php

在代理後面阻止 IP 的 Nginx

  • October 31, 2012

我在這裡執行一個 Nginx 1.2.4 網路伺服器,並且我在我的主機代理後面以防止 ddos​​ 攻擊。使用此代理的缺點是我需要從額外的標頭中獲取真實的 IP 資訊。例如,在 PHP 中,它可以很好地工作$_SERVER[HTTP_X_REAL_IP]

現在,在我支持我的主機代理之前,我有一種非常有效的方法可以通過這樣做來阻止某些 IP:include /etc/nginx/block.conf並允許/拒絕那裡的 IP。

但現在由於代理,Nginx 看到所有流量來自 1 個 IP。

有沒有一種方法可以讓 Nginx 像 PHP 一樣讀取 IP,使用X-REAL-IP標頭?

我解決了。

不得不添加:set_real_ip_from 0.0.0.0;

該IP是代理

通常代理伺服器會發送一個包含客戶端真實 IP 地址的標頭 X_FORWARDED_FOR。你可以--with-http_realip_module用來獲取真實的IP地址。這是模組的頁面

引用自:https://serverfault.com/questions/443952