0 like 0 dislike
68 views
in Bilgi Teknolojileri by anonymous Bilge (165k points)
Vestacp loglarda ziyaretçi ip adresi yerine sunucu ip adresini gösteriyor. Apache web server hosting olarak, nginx ise caching olarak seçili durumda. Ziyaretçi ip adresini loglarda ve uygulamalarda görmem için nasıl bir ayarlama yapmam gerekli ?

(How to see visitor ip address on log files? Nginx caching server and apache hosting server)

Forward visitor ip address to apache server

vestacp nginx doesnt forward ip in headers to apache rpaf is enabled

2 Answers

0 like 0 dislike
by anonymous Bilge (165k points)
selected by anonymous
 
Best answer

Nginx gelen istekleri sunucunun ip adresi ve portuna yönlendirmektedir. Dolayısı ile, tüm istekler yine sunucu içinden geliyormuş gibi işlem yapılır. Gelen isteklerin header bilgilerinde bulunan ip adresini apache sunucuya aktararak sorunu çözebilirsiniz. Bunu iki adımda yapmanız mümkün.

1- Vestacp kullanıyorsanız /home/user/conf/web/apache2.conf dosyasını editörde açın.

<IfModule rpaf_module>
        RPAFenable On
        RPAFsethostname On
        RPAFheader X-Real-IP
        RPAFproxy_ips 127.0.0.1  // Ya da server ip 
    </IfModule>

2- /home/user/conf/web/nginx.conf  dosyasını açın ve aşağıdaki iki kırmızı satırı ekleyin.

        proxy_cache cache;
        proxy_cache_valid 15m;
        proxy_cache_valid 404 1m;
        proxy_no_cache $no_cache;
        proxy_cache_bypass $no_cache;
        proxy_cache_bypass $cookie_session $http_x_update;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-For $remote_addr;

3- Aşağıdaki komutlarlı çalıştırınız;

# /etc/init.d/vesta restart

# service apache2 restart  // vestacp üzerinden yapılabilir

# service nginx restart       // vestacp panel üzerinden yapılabilir

Not: Vestacp üzerinde ayarlar bu şekilde yapılabilir. Vesta apache ve nginx için her domaine özel conf dosyaları barındırmaktadır. Eğer farklı bir sistem kullanıyorsanız benzer conf dosyaları üzerinde aynı etkinleştirmeleri yapabilirsiniz. Emin olmanız gereken diğer birşey ise, /etc/apache2mods-enable/rpaf.conf  vestacp kullanıyorsanız;

<IfModule rpaf_module>
    RPAFenable On

    # When enabled, take the incoming X-Host header and
    # update the virtualhost settings accordingly:
    RPAFsethostname On

    # Define which IP's are your frontend proxies that sends
    # the correct X-Forwarded-For headers:


    # Change the header name to parse from the default
    # X-Forwarded-For to something of your choice:
#   RPAFheader X-Real-IP
</IfModule>

şeklinde olmalıdır. Eğer vestacp kullanmıyorsanız, zaten ilgili parametreleri direk buraya yazabilirsiniz.

0 like 0 dislike
by anonymous Bilge (165k points)

Aktif olan apache modüllerini görmek ve listelemek için aşağıdaki komutu kullanabilirsiniz.

# apache2ctl -M  
Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 actions_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgi_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 fcgid_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 php5_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 rpaf_module (shared)
 ruid2_module (shared)
 setenvif_module (shared)
 ssl_module (shared)
 status_module (shared)
 suexec_module (shared)
Syntax OK

...