به طور پیشفرض اَبر دِراک به عنوان یک Reverse Proxy عمل میکند. به همین ترتیب، تمام اتصالات به سرور اصلی (مبدا) شما از آدرس های IP اَبر دِراک میآیند. در این حالت میبایست به دو نکته زیر توجه کنید:
- اگر برنامه شما به عنوان بخشی از منطق خود از IP اصلی بازدیدکننده وبسایت استفاده میکند، در حال حاضر از یک آدرس IP اَبر دِراک استفاده خواهد کرد. اگر از access log خود استفاده می کنید، آنها اکنون یک آدرس IP اَبر دِراک را در لاگ به عنوان IP ثبت میکنند.
- با اینحال اَبر دِراک طبق استاندارد میتواند IPهای اصلی بازدیدکنندگان را به شما بازگرداند. این اطلاعات در Headerهای Derak-Real-IP به شما تحویل داده میشوند.
- همواره لیست IPهای دِراک را به روزرسانی کنید. برای این کار میتوانید ازاین لینک استفاده کنید: https://api.derak.cloud/public/ipv4
Nginx #
برای اعمال این تنظیمات لازم است تا ماژول http_realip_module
را برای Nginx خود نصب کنید. اگر درحال نصب Nginx از پکیجهای اصلی مربوط به Distributionهای مختلف لینوکس مثل Ubuntu و Fedora و CentOS و … هستید، این ماژول به صورت پیشفرض بر روی Nginx نصب شده است. در غیر این صورت، اگر در حال کامپایل Nginx از کد منبع هستید، مطمئن شوید که در هنگام اجرای دستور configure/.
پارامتر --with-http_realip_module
وجود دارد.
با دستور زیر میتوانید بررسی کنید که این ماژول بر روی سیستم شما نصب شده یا خیر؟
nginx -V 2>&1 | grep http_realip_module
با دستورات زیر میتوانید مطمئن شوید که Real IP را تنها از ما دریافت میکنید:
set_real_ip_from 5.145.112.0/24;
set_real_ip_from 5.145.115.0/24;
.
.
.
real_ip_header Derak-Real-IP;
شما باید تمام بازههای IP اَبر دِراک را به صورت بالا اضافه کنید. در این کد فقط ۲ مورد ذکر شدهاست.
برای دسترسی به لیست بهروز شده IPها در هرلحظه میتوانید از لینک زیر استفاده کنید:
https://api.derak.cloud/public/ipv4
همچنین میتوانید لیست بازههای IP اَبر دِراک را از اینجا ببینید.
Apache #
در نسخههای ۲.۴ آپاچی یا بالاتر فایل remoteip_module
و یا mod_remoteip.so
در پکیج نصب موجود است. برای فعالسازی این پکیج دستور زیر را اجرا کنید:
sudo a2enmod remoteip
فایل پیکربندی Apache را باز کنید. این فایل را میتوانید از مسیر /etc/apache2/apache2.conf
بیابید. سپس خطوط زیر را به آن اضافه کنید:
RemoteIPHeader Derak-Real-IP
RemoteIPTrustedProxy 5.145.112.0/24
RemoteIPTrustedProxy 5.145.115.0/24
.
.
.
شما باید تمام بازههای IP اَبر دِراک را به صورت بالا اضافه کنید.در این کد فقط ۲ مورد ذکر شدهاست.
برای دسترسی به لیست بهروز شده IPها در هرلحظه میتوانید از لینک زیر استفاده کنید:
https://api.derak.cloud/public/ipv4
همچنین میتوانید لیست بازههای IP اَبر دِراک را از اینجا ببینید.
همچنین در این فایل پیکربندی زیر را با استفاده از واژهی LogFormat
بیابید:
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
و مطابق زیر تغییر دهید:
LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
این تغییر باعث میشود تا در لاگ IP های mod_remoteip
که IP اصلی کاربر است به جای IP هاست نوشته شود. برای اطلاعات بیشتر میتوانید به مستندات Apache مراجعه کنید.
LiteSpeed #
در پنل کاربری LiteSpeed از بخش Configuration، تب Server را بیابید. در قسمت General در جدول General Settings را بیابید گزینهی Use Client IP in Header را به Trusted IP Only
تغییر دهید.
سپس از بخش Configuration، تب Server را بیابید. قسمت Security را باز کنید. در جدول Access Control تمام بازههای IP اَبر دِراک را به Allowed List اضافه کنید. IP ها با ویرگول از یکدیگر جدا میگردند. این IPها باید به صورت Trusted IP اضافه شوند، پس در انتهای هر IP، حرف T
را قرار دهید.
پس از اضافهکردن بازههای IP، لیست Allowed به صورت زیر در میآید:
ALL, 5.145.112.0/24T, 5.145.115.0/24T, ...
شما باید تمام بازههای IP اَبر دِراک را به صورت بالا اضافه کنید. در این کد فقط ۲ مورد ذکر شدهاست.
برای دسترسی به لیست بهروز شده IPها در هرلحظه میتوانید از لینک زیر استفاده کنید:
https://api.derak.cloud/public/ipv4
همچنین میتوانید لیست بازههای IP اَبر دِراک را از اینجا ببینید.
برای آشنایی با افزونه Real IP Detector کلیک کنید.
توجه داشته باشید با استفاده از این تنظیمات تنها IPهای موجود در لاگهای دسترسی به IPهای حقیقی کاربران تبدیل شده و IPهای موجود در لاگهای خطا، همچنان به IPهای اَبر دِراک اشاره میکنند. این موضوع ممکن است در آینده از سمت LiteSpeed تغییر یابد.