Php
在代理後面阻止 IP 的 Nginx
我在這裡執行一個 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地址。這是模組的頁面