@aalireza439 و سایر دوستان
توی خونه 6 تا وسیله (لپ تاپ و کامپیوتر رو میزی و تبلت و موبایل) به یه مودم وصل میشن و بالای 50 درصد سایت ها و صفحاتی که بازدید میشه مشترک هست (و اکثرا حجم زیادی دارن)
من میخوام یه سرور خونگی راه اندازی کنم که سایت اول از طریق سرور بارگذاری بشه ، تصاویر و فایل های کش بشه و بعد به سیستمی که درخواست داده فرستاده بشه اگه یه سیستم دیگه همین درخواست رو داشت به اینترنت وصل نشه و از روی سرور خونگی پاسخ داده بشه یا حداقل کاری شبیه مروگر ها انجام بده ( همه تصاویر رو از اول بارگذاری نکنه تو حافظه موقت داشته باشه )
امکان راه اندازی هست ؟
پ ن : میخوام تا حد امکان هزینه اینترنت رو پایین بیارم
بله شدنی هست ، به این کار میگن web caching ، در واقع الان بیشتر ISP ها از همین روش استفاده میکنن ، ترافیک سایت های پربازدید کش میشه و اینطوری مصرف پهنای باند خارجی اشون کاهش قابل توجه ای داره ، از اونور هم میان پول پهنای باند خارجی رو ازمون میگیرن !
خوب حالا این web caching که گفتم خودش دو مدل داره یکی Forward Proxy و یکی دیگه هم Reverse Proxy که برای موردی که شما میخواهید Forward Proxy باید استفاده بشه.
یک سرویس Forward Proxy تامین کننده یک سرویس پروکسی برای کاربر (گروهی از کاربرها) هست که اغلب عضو یک شبکه مشترک هست (تو تصویر زیر هم میتونید ببینید)
تو مدل Forward Proxy وقتی کاربر یک درخواست برای دسترسی به اون فایل سرور میده ، اول از همه باید درخواست از Forward Proxy رد بشه ، حالا بسته به تنظیمات اون Forward Proxy
ممکنه درخواست رو اجازه بده یا نده ، بعد از اینکه اجازه داده درخواست میره سمت فایروال بعد از اون هم به سمت فایل سرور ، (در اینجا برای فایل سرور کسی که درخواست رو میفرسته کاربر نیست ، Forward Proxy هست ، به همین صورت وقتی که فایل سرور پاسخ ارسال میکنه ، پاسه برای Forward Proxy هست نه کاربر.)
حالا وقتی که Forward Proxy پاسخ رو دریافت میکنه ، خودش تشخیص میده که این پاسخ برای درخواستی هست که اخیرا یک کاربر ارسال کرده و به همین دلیل اون پاسخ رو سمت همون کاربر میفرسته.
همونطور که دیدید ، یک پروکسی سرور به طور کامل آمار تمام ، درخواست ها و پاسخ ها به همراه مقصد و مبداشون رو داره ، از طریق Forward Proxy به عنوان یک میانجی میتونه درخواست ها و پاسخ های کاربرهای مختلف رو کنترل کنه ، حالا بسته به تنظیمات اون Forward Proxy میتونه تعیین که برای هر درخواست یک بازه زمانی تعیین کنه و دیگه طی یک بازه مشخص وقتی کاربرهای مختلف به اون آدرس درخواست بفرستن به سرور اصلی درخواست نده و از اطلاعات کش شده استفاده کنه.
این رو هم بگم شما روی Forward Proxy میتونید تنظیمات مختلفی رو تایین کنید ، مثلا یکسری از آدرس ها رو دسترسی شون رو منع کنید و کاربر ها رو به یک صفحه دیگه منتقل کنید ، یا حتی میتونید کاری کنید که اگر مثلا تو آدرس URl خواستی یک کلمه غیر مجاز بود ، اون کاربر دسترسی اش مسدود بشه و به همین صورت (کلا فیلترینگ از چیزی که فکر میکنید خیلی ساده تر هست)
این رو هم بدونید که ISP خیلی راحت تمامی درخواست ها و پاسخهاتون رو میتونن کنترل کنن ، حتی اگر از پروکسی هم استفاده کنید باز هم پاسخ درخواستی رو میتونن چک کنن و مبدا که درخواست رو ارسال کرده رو راحت پیدا میکنن. (اگر ارسال و درخواست رو به صورت کد شده بفرستید ، کارشون رو سخت تر میکنید ، اما باز هم یک کارهایی میتونن انجام بدن)
در مورد Reverse Proxy هم خیلی ساده میگم ، کارش کاملا برعکس Forward Proxy هست ، یعنی اینجا یک کاربرهست و یک سرور (یا گروهی از سرورها) ، نقش Reverse Proxy دسترسی کاربر به سرور هست ، مباحث load balancing از همین زیر شاخه هست. (تصویرش رو هم برای درک بهتر میزام ببینید)
حالا برای راه اندازی پروکسی سرور نرم افزارهای مختلفی هست ، محبوب ترینش تو این زمینه
Squid یکی دیگه از نرم افزارهای محبوب هم
Apache Traffic Server امکانات خوبی داره ، حتی تو بعضی بنچمارک ها از اسکوئید بهتر هم بوده.
حالا نصب و راه اندازی اینها چطور هست ، خودش یک مبحث کامل می طلبه و من هم دیگه حوصله تایپ کردن ندارم.