Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 15623|Atbildi: 0

[Tīmeklis] Nginx priekšgalā un Apache aizmugurē iegūst lietotāja īsto IP adresi

[Kopēt saiti]
Publicēts 03.11.2014 09:46:05 | | |
Nesen viņš vispār bijaApache-2,2 unApache-2.4, lai pievienotu "LNMP viena klikšķa instalācijas pakotne",NginxKā priekšgals Apache var iegūt tikai Nginx priekšgala IP adresi (127.0.0.1), bet ne lietotāja īsto IP adresi.
Nginx ir konfigurēts šādi:
  1. location / {
  2.         try_files $uri @apache;
  3.         }

  4. location @apache {
  5.         internal;
  6.         proxy_pass http://127.0.0.1:8080;
  7.         include proxy.conf;
  8.         }

  9. location ~ .*\.(php|php5)?$  {
  10.         proxy_pass http://127.0.0.1:8080;
  11.         include proxy.conf;
  12.         }
Kopēt kodu
  1. proxy_connect_timeout 300s;
  2. proxy_send_timeout 900;
  3. proxy_read_timeout 900;
  4. proxy_buffer_size 32k;
  5. proxy_buffers 4 64k;
  6. proxy_busy_buffers_size 128k;
  7. proxy_redirect off;
  8. proxy_hide_header Vary;
  9. proxy_set_header Accept-Encoding '';
  10. proxy_set_header Referer $http_referer;
  11. proxy_set_header Cookie $http_cookie;
  12. proxy_set_header Host $host;
  13. proxy_set_header X-Real-IP $remote_addr;
  14. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Kopēt kodu
Apache reālu IP adrešu iegūšanai ir 2 moduļi:
mod_rpaf: Apache-2.2 tiek atbalstīts; Apache-2.4 netiek atbalstīts. Tiešsaistē ir daudz apmācību
mod_remoteip: Apache-2.4 nāk ar moduļiem; Apache-2.2 atbalsts;ieteikt
Apache-2.2.25
mod_rpaf modulis
  1. wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
  2. tar -xzvf mod_rpaf-0.6.tar.gz
  3. cd mod_rpaf-0.6/
  4. /usr/local/apache/bin/apxs  -i -c -n mod_rpaf-2.0.slo mod_rpaf-2.0.c
Kopēt kodu
Pievienot Apache konfigurāciju
  1. vi  /usr/local/apache/conf/httpd.conf
  2. Include conf/extra/httpd-rpaf.conf
  3. vi /usr/local/apache/conf/extra/httpd-rpaf.conf

  4. LoadModule rpaf_module        modules/mod_rpaf-2.0.so
  5. RPAFenable On
  6. RPAFsethostname On
  7. RPAFproxy_ips 127.0.0.1 10.8.0.110 # 代理服务器的ip地址(记得做相应修改)
  8. RPAFheader X-Forwarded-For
Kopēt kodu
Piezīmes: Pēc RPAFproxy_ips pievienojiet starpniekservera IP adresi un aizpildiet dažus
Tests
  1. # /usr/local/apache/bin/apachectl -t
  2. # /usr/local/apache/bin/apachectl restart
  3. # 看日志
Kopēt kodu
mod_remoteip
Apache-2.2 konfigurācijas mod_remoteip ir šāda:
Instalācijas
  1. wget https://github.com/ttkzw/mod_remoteip-httpd22/raw/master/mod_remoteip.c
  2. /usr/local/apache/bin/apxs -i -c -n mod_remoteip.so mod_remoteip.c
Kopēt kodu
Profila modificēšana:
  1. vi /usr/local/apache/conf/httpd.conf
  2. Include conf/extra/httpd-remoteip.conf
  3. vi /usr/local/apache/conf/extra/httpd-remoteip.conf
  4. LoadModule remoteip_module modules/mod_remoteip.so
  5. RemoteIPHeader X-Forwarded-For
  6. RemoteIPInternalProxy 127.0.0.1
Kopēt kodu
Tests:
  1. # /usr/local/apache/bin/apachectl -t
  2. # /usr/local/apache/bin/apachectl restart
  3. # 看日志
Kopēt kodu
Apache-2.4 konfigurācija mod_remoteip papildus iepriekš minētajam (modulis ar savu mod_remoteip nav jāinstalē), jums ir jāmaina arī žurnāla formāts (ilgstoši)
  1. LogFormat "%h %a %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
  2. LogFormat "%h %a %l %u %t "%r" %>s %b" common
  3. LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedi
Kopēt kodu

%a pievienošana žurnāla formātam





Iepriekšējo:Es dzirdēju, ka Du Niang joprojām var spēlēt šādi! Jūs kratāt! Sakratiet!
Nākamo:nginx starpniekservera režīms, iegūstiet klienta reālo IP adresi
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com