| squid(8) | System Manager's Manual | squid(8) |
نام (NAME)
squid - سرور پروکسی و کش وب بر پایه HTTP
خلاصه دستور (SYNOPSIS)
squid [-dhisrvzCFNRSVYX] [--foreground] [-l facility ] [-f config-file ] [-[au] port ] [-k signal ] [-n service-name ] [-O command-line ]
توضیحات (DESCRIPTION)
برنامه squid یک سرور پروکسی و کِش (Caching Server) با کارایی بالا برای کلاینتهای وب است که از اشیاء دادهای پروتکلهای HTTP ،HTCP ،ICP ،ICAP و FTP پشتیبانی میکند. بر خلاف نرمافزارهای کش سنتی، Squid تمامی درخواستها را در یک فرآیند واحد و غیرمسدودکننده (non-blocking) مدیریت میکند.
برنامه Squid فرادادهها و بهویژه اشیاء پرکاربرد را در حافظه RAM ذخیره میکند، جستجوهای سامانه نام دامنه (DNS) را کش کرده، از جستجوهای نامسدودکننده DNS پشتیبانی مینماید و کش منفی (negative caching) را برای درخواستهای ناموفق اعمال میکند.
برنامه Squid از SSL، کنترلهای دسترسی گسترده و ثبت کامل وقایع درخواستها (logging) پشتیبانی میکند. با استفاده از پروتکلهای سبک کش اینترنتی ICP ،HTCP یا CARP، کشهای Squid میتوانند در یک ساختار سلسلهمراتبی یا مش برای صرفهجویی بیشتر در پهنای باند سازماندهی شوند.
برنامه Squid از یک برنامه سرور اصلی به نام squid ، تعدادی برنامه اختیاری برای پردازشهای سفارشی و احراز هویت، و برخی ابزارهای مدیریتی و کلاینت تشکیل شده است. هنگامی که Squid راهاندازی میشود، تعداد قابل تنظیمی از فرآیندهای کمکی (helper processes) را اجرا میکند که هر کدام میتوانند جستجوها را بهصورت موازی انجام دهند. این امر مدت زمانی را که کش در انتظار نتایج سپری میکند کاهش میدهد.
برنامه Squid برگرفته از پروژه Harvest با بودجه ARPA است.
این صفحه راهنما فقط آرگومانهای خط فرمان را فهرست میکند. برای جزئیات نحوه پیکربندی Squid به فایل /etc/squid/squid.conf.documented، پرسشهای متداول (FAQ) و مثالهای ویکی Squid در https://wiki.squid-cache.org یا راهنمای پیکربندی در وبسایت اصلی Squid http://www.squid-cache.org/Doc/config مراجعه کنید.
گزینهها (OPTIONS)
- -a port
- شماره پورت HTTP را مشخص میکند که در آن Squid علاوه بر مقادیر تعیینشده برای http_port در فایل squid.conf ، باید به درخواستها گوش فرا دهد.
- -C
- سیگنالهای کشنده (fatal signals) را به دام نینداز.
- -d level
- پیامهای اشکالزدایی (debugging) را در خطای استاندارد (stderr) نیز بنویس.
- -f file
- استفاده از فایل پیکربندی مشخصشده به جای /etc/squid/squid.conf . اگر نام فایل با یک ! یا | شروع شود، به عنوان یک دستور خارجی یا خط فرمان در نظر گرفته میشود. به عنوان مثال میتواند برای پیشپردازش پیکربندی قبل از خوانده شدن آن توسط Squid استفاده شود. برای تسهیل این کار، Squid همچنین مفهوم متداول #line را برای مشخص کردن فایل مبدا اصلی متوجه میشود.
- -F
- تا زمان بازسازی کامل مخزن ذخیرهسازی (store)، به هیچ درخواستی پاسخ نده.
- -h
- چاپ پیام راهنما.
- -i
- نصب به عنوان یک سرویس ویندوز (Windows Service) (گزینه -n را ببینید).
- -k reconfigure | rotate | shutdown | interrupt | kill | debug | check | parse
- تجزیه فایل پیکربندی، سپس ارسال سیگنال به نسخه در حال اجرا (به جز -k parse ) و خروج.
- -l facility
- استفاده از بخش (facility) مشخصشده syslog. این گزینه مستلزم فعال بودن -s است.
- -n name
- مشخص کردن نام سرویس ویندوز برای انجام عملیات سرویس؛ مقدار پیشفرض: Squid است.
- -N
- غیرفعال کردن حالت دیمن (عدم اجرا در پسزمینه).
- --foreground
- فرآیند والد تا زمانی که فرزندانش کار خود را به پایان نرسانده باشند، خارج نمیشود. این گزینه تاثیری بر -N که در زمان راهاندازی فرآیند را چنگال/خارج (fork/exit) نمیکند، ندارد.
- --kid roleID
- ایفای نقش فرآیند فرزند SMP مشخص با شناسه معین. از این گزینه استفاده نکنید؛ این گزینه صرفاً برای استفاده فرآیند اصلی (master process) در نظر گرفته شده است.
- -O options
- تنظیم گزینههای خط فرمان سرویس ویندوز در رجیستری (Registry).
- -r
- حذف سرویس ویندوز (گزینه -n را ببینید).
- -R
- عدم تنظیم فلگ REUSEADDR روی پورت.
- -s
- فعالسازی ثبت وقایع در syslog. همچنین در /etc/squid/squid.conf نیز قابل پیکربندی است.
- -S
- بررسی مجدد swap در حین بازسازی (rebuild).
- -u port
- مشخص کردن شماره پورت ICP (پیشفرض: ۳۱۳۰)؛ برای غیرفعال کردن مقدار ۰ را قرار دهید.
- -v
- چاپ نگارش و جزئیات ساخت (build).
- -X
- اجبار به حالت اشکالزدایی کامل.
- -Y
- در حین بارگذاری سریع (fast reload)، تنها مقادیر UDP_HIT یا UDP_MISS_NOFETCH بازگردانده شوند.
- -z
- ایجاد دایرکتوریهای مفقود swap و سایر ساختارهای ناقص cache_dir، و سپس خروج. تمام انواع cache_dir در صورتی که دایرکتوری سطح بالای پیکربندیشده وجود نداشته باشد، آن را ایجاد میکنند. سایر اقدامات به نوع ذخیرهسازی بستگی دارند؛ برای مثال سامانههای ذخیرهسازی مبتنی بر ufs دایرکتوریهای گمشده L1 و L2 را میسازند، در حالی که نوع Rock فایل پایگاهداده مفقود را ایجاد میکند.
- این گزینه اعتبارسنجی هیچیک از ساختارهای موجود swap را فعال نمیکند؛ تمرکز آن بر ایجاد بخشهای مفقود است. اگر هیچ موردی کم نباشد، دستور squid -z صرفاً خارج میشود. در صورتی که به خرابی cache_dir مشکوک هستید، باید دایرکتوری سطح بالای cache_dir را پیش از اجرای squid -z حذف نمایید.
- بهطور پیشفرض، squid -z در حالت دیمن اجرا میشود (تا ماکروهای پیکربندی و سایر ویژگیهای SMP مطابق انتظار کار کنند) و کنترل را قبل از مقداردهی اولیه کامل cache_dirها به فراخواننده بازمیگرداند. در صورت اجرا از طریق اسکریپتهای init یا مدیرهای دیمن، فراخواننده معمولاً باید قبل از ادامه فرآیند منتظر تکمیل مقداردهی اولیه بماند. از گزینه --foreground برای جلوگیری از خروج زودهنگام استفاده کنید. برای غیرفعال کردن حالت دیمن، از گزینه -N استفاده نمایید.
فایلها (FILES)
فایلهای پیکربندی Squid واقع در /etc/squid/:
- squid.conf
- فایل پیکربندی اصلی. برای کارکرد squid باید ابتدا تغییراتی در این فایل اعمال کنید. برای مثال، پیکربندی پیشفرض فقط دسترسی از شبکههای محلی خصوصی (RFC private LAN) را مجاز میداند؛ برخی توزیعها حتی همین را نیز مسدود میکنند.
- squid.conf.default
- نسخه مرجع فایل پیکربندی. همیشه با نسخه Squid مورد استفاده شما بهروز نگه داشته میشود.
- از این فایل برای بررسی تنظیمات پیشفرض پیکربندی و ساختار نحوی (syntax) پس از ارتقا استفاده کنید.
- squid.conf.documented
- نسخه مرجع فایل پیکربندی. همیشه با نسخه Squid مورد استفاده شما بهروز نگه داشته میشود.
- از این فایل برای خواندن مستندات گزینههای پیکربندی موجود در ساخت Squid خود استفاده نمایید. راهنمای آنلاین پیکربندی نیز به عنوان یک مرجع کامل از گزینهها در دسترس است. ببینید: http://www.squid-cache.org/Doc/config
- msntauth.conf
- فایل پیکربندی اصلی برای احراز هویتکننده نمونه MSNT.
- errorpage.css
- شیوهنامه CSS برای کنترل نحوه نمایش صفحات خطای تولیدشده. از این فایل برای اعمال برند تجاری یا سفارشیسازی دلخواه استفاده کنید؛ این تنظیمات برای تمام زبانهایی که Squid صفحات خطا ارائه میدهد اعمال خواهد شد.
برخی فایلها در مسیرهای دیگر قرار دارند:
- /etc/squid/mime.conf (mime_table)
- نگاشتهای نوع MIME برای دروازهبانی FTP.
- /usr/share/squid/errors
- محل قرارگیری صفحات خطا و قالبهای Squid.
نویسندگان (AUTHORS)
برنامه Squid در طول سالیان متمادی توسط تیمی از توسعهدهندگان نوشته شده و به نوبت توسط افراد زیر نگهداری شده است: Duane Wessels <duane@squid-cache.org> Henrik Nordstrom <hno@squid-cache.org> Amos Jeffries <amosjeffries@squid-cache.org>
همراه با مشارکتهای بسیار از سوی جامعه کاربران و توسعهدهندگان Squid. برای مشاهده فهرست کامل افرادی که در کد مشارکت داشتهاند به فایل CONTRIBUTORS مراجعه کنید. برای مشاهده فهرستی از دارندگان عمده حق نشر مشارکتکننده در کد، فایل CREDITS را ببینید.
حق نشر (COPYRIGHT)
* Copyright (C) 1996-2026 The Squid Software Foundation and
contributors
*
* نرمافزار
Squid تحت مجوز GPLv2+
توزیع
میشود و
شامل
مشارکتهای
* افراد و
سازمانهای
متعددی است.
* لطفاً برای
جزئیات به
فایلهای COPYING
و CONTRIBUTORS مراجعه
کنید.
پرسشها (QUESTIONS)
پرسشها درباره استفاده از این برنامه را میتوان به فهرست پستی کاربران Squid (Squid Users mailing list) به نشانی <squid-users@lists.squid-cache.org> ارسال کرد.
گزارش اشکالات (REPORTING BUGS)
گزارشهای اشکال باید به زبان انگلیسی ارسال شوند. برای آگاهی از جزئیات مواردی که باید در گزارش باگ خود قید کنید به نشانی https://wiki.squid-cache.org/SquidFaq/BugReporting مراجعه فرمایید.
گزارش اشکالات یا وصلههای اصلاح باگ را با استفاده از https://bugs.squid-cache.org ارسال کنید.
اشکالات امنیتی جدی را به نشانی زیر گزارش دهید: Squid Bugs <squid-bugs@lists.squid-cache.org>
ایدهها و پیشنهادات برای بهبودهای جدید را به فهرست پستی توسعهدهندگان ارسال کنید: Squid Developers mailing list <squid-dev@lists.squid-cache.org>
همچنین ببینید (SEE ALSO)
basic_pam_auth (8), basic_ldap_auth (8),
ext_ldap_group_acl (8), ext_session_acl (8),
ext_unix_group_acl (8),
ویکی
پرسشهای
متداول Squid:
https://wiki.squid-cache.org/SquidFaq
راهنمای
پیکربندی Squid:
http://www.squid-cache.org/Doc/config