久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

服務(wù)器架構(gòu)前面加了防火墻,Nginx如何獲取客戶端真實(shí)ip,??,?

 米老鼠的世界 2021-06-21

在大部分實(shí)際業(yè)務(wù)場景中,,網(wǎng)站訪問請求并不是簡單地從用戶(訪問者)的瀏覽器直達(dá)網(wǎng)站的源站服務(wù)器,中間可能經(jīng)過所部署的CDN,、高防IP,、WAF等代理服務(wù)器。例如,,網(wǎng)站可能采用這樣的部署架構(gòu):用戶 > CDN/高防IP/WAF > 源站服務(wù)器,。這種情況下,訪問請求在經(jīng)過多層加速或代理轉(zhuǎn)發(fā)后,,源站服務(wù)器該如何獲取發(fā)起請求的真實(shí)客戶端IP,?

一般情況下,透明的代理服務(wù)器在將用戶的訪問請求轉(zhuǎn)發(fā)到下一環(huán)節(jié)的服務(wù)器時(shí),,會在HTTP的請求頭中添加一條X-Forwarded-For記錄,,用于記錄用戶的真實(shí)IP,其記錄格式為X-Forwarded-For:用戶IP,。如果期間經(jīng)歷多個(gè)代理服務(wù)器,,則X-Forwarded-For將以該格式記錄用戶真實(shí)IP和所經(jīng)過的代理服務(wù)器IP:X-Forwarded-For:用戶IP, 代理服務(wù)器1-IP, 代理服務(wù)器2-IP, 代理服務(wù)器3-IP, ……。

因此,,常見的Web應(yīng)用服務(wù)器可以使用X-Forwarded-For的方式獲取訪問者真實(shí)IP,。

Nginx配置方案

  • 1、確認(rèn)nginx安裝時(shí)已經(jīng)安裝http_realip_module模塊

為實(shí)現(xiàn)負(fù)載均衡,,Nginx使用http_realip_module模塊來獲取真實(shí)IP,。# nginx -V | grep http_realip_module命令查看是否已安裝該模塊。如未安裝,,則需要重新編譯Nginx服務(wù)并加裝該模塊,。方法如下:

wget http:///download/nginx-1.14.2.tar.gz
tar zxvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_realip_module
make
make install
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
kill -QUIT `cat /usr/local/nginx/logs/ nginx.pid.oldbin`
  • 2,、修改Nginx對應(yīng)server的配置

打開www.conf配置文件,在location / {} 中加入以下內(nèi)容:

set_real_ip_from ip_range1;    #真實(shí)服務(wù)器上一級代理的IP地址或者IP段,可以寫多行
set_real_ip_from ip_range2;
...
set_real_ip_from ip_rangex;
real_ip_header    X-Forwarded-For;    #從哪個(gè)header頭檢索出需要的IP地址
real_ip_recursive on;    #遞歸排除set_real_ip_from里面出現(xiàn)的IP,其余沒有出現(xiàn)的認(rèn)為是用戶真實(shí)IP

說明: 其中,,ip_range1,,2,...,,x 指WAF的回源IP地址,,需要分多條分別添加。

如何獲取WAF的回源IP地址,?,??

打開WAF界面-->設(shè)置-->產(chǎn)品信息-->即可查看到回源IP段,,將這里的IP段按照上面的方式寫進(jìn)nginx配置當(dāng)中即可,,查看nginx訪問日志就是客戶端真實(shí)ip了。不過要說的是阿里的回源IP段真多,,用notepad++處理好配置再寫上去更方便,!

  • 3、修改日志記錄格式

log_format一般在nginx.conf配置文件中的http配置部分,。在log_format中,,添加x-forwarded-for字段,替換原來remote-address字段,,即將log_format修改為以下內(nèi)容:

log_format  main  '$http_x_forwarded_for - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" ';

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多