نمایش IP صحیح بازدیدکنندگان در Engintron

درود بر شما

همونطور که احتمالا اطلاع دارید Engintron یک ماژول از وب سرور انجین ایکسه که برای استفاده از این وب سرور روی سرورهای سی‌پنلی ساخته شده که به عنوان ریورز در کنار آپاچی پرفورمنس نسبتا مناسبی رو ارائه می‌ده.

ممکنه برای شما هم پیش اومده باشه که تو لاگ‌های آپاچی دیده باشید که به جای آی‌پی همه بازدیدکننده‌ها آی‌پی سرور درج شده باشه و کدهای php مثل کد زیر هم به جای برگردوندن آی‌پی بازدیدکننده آی‌پی سرور رو نمایش بدن.

$_SERVER['REMOTE_ADDR']

برای رفع این مشکل دو اقدام باید انجام داد،

اول از طریق EasyApache در پنل WHM باید ماژول‌های آپاچی mod_remoteip و mod_cloudflare رو فعال کنید.

سپس فایل زیر رو ادیت کنید:

nano /etc/apache2/conf.modules.d/370_mod_remoteip.conf

محتوای این فایل باید به صورت زیر باشه:

# Enable mod_remoteip
LoadModule remoteip_module modules/mod_remoteip.so
RemoteIPHeader        X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1 192.168.1.1 192.168.1.2

تو کدهای بالا به جای 192.168.1.1 باید آی‌پی سرورتون رو وارد کنید و اگر IP اختصاصی هم دارید برای اکانتی به جای 192.168.1.2 وارد کنید، اگر هم آی‌پی اشتراکی یا اختصاصی دیگه‌ای ندارید که نیازی نیست چیز دیگه‌ای اضافه بشه.

مورد دیگه‌ای هم که باید مدنظر داشته باشید اینه که با فعال کردن mod_cloudflare باید کانفیگ‌های زیر به مسیر /etc/nginx/nginx.conf اضافه بشه، اگر نبود به صورت دستی اضافه کنید تا آی‌پی بازدیدکننده‌های سایت‌هایی که از کلودفلر استفاده می‌کنن هم به درستی لاگ بشه.

    # CloudFlare IPs
    # List from: https://www.cloudflare.com/ips-v4
    set_real_ip_from 103.21.244.0/22;
    set_real_ip_from 103.22.200.0/22;
    set_real_ip_from 103.31.4.0/22;
    set_real_ip_from 104.16.0.0/12;
    set_real_ip_from 108.162.192.0/18;
    set_real_ip_from 131.0.72.0/22;
    set_real_ip_from 141.101.64.0/18;
    set_real_ip_from 162.158.0.0/15;
    set_real_ip_from 172.64.0.0/13;
    set_real_ip_from 173.245.48.0/20;
    set_real_ip_from 188.114.96.0/20;
    set_real_ip_from 190.93.240.0/20;
    set_real_ip_from 197.234.240.0/22;
    set_real_ip_from 198.41.128.0/17;
    # List from: https://www.cloudflare.com/ips-v6
    set_real_ip_from 2400:cb00::/32;
    set_real_ip_from 2405:8100::/32;
    set_real_ip_from 2405:b500::/32;
    set_real_ip_from 2606:4700::/32;
    set_real_ip_from 2803:f800::/32;
    set_real_ip_from 2c0f:f248::/32;
    set_real_ip_from 2a06:98c0::/29;

    # Replace with correct visitor IP
    real_ip_header X-Forwarded-For;
    real_ip_recursive on;

و پایان!

مشکل HTTP Error حین آپلود در وردپرس

اگر برای آپلود تصاویر، فایل‌ها و … روی وردپرسی که در وب سرور nginx هاست شده مشکل دارید و در ارورلاگ nginx که در مسیر زیر لاگ می‌شه:

/var/log/nginx/error.log

خطای زیر رو دارید:

[error] 11310#11310: *154 client intended to send too large body: X bytes

فایل کانفیگ nginx رو ویرایش کنید:

 nano /etc/nginx/nginx.conf

و مقدار client_max_body_size که احتمالا بر حسب مگابایت هست رو افزایش بدید. و در نهایت nginx رو ریستارت کنید:

service nignx restart

و تمام