جستجو برای:
  • صفحه اصلی
  • فروشگاه
  • بلاگ
  • تماس با ما
  • درباره ما
 
  • 021-91093619
  • info@networkdream.ir
  • بلاگ
  • تماس با ما
  • درباره ما
آکادمی شبکه NetworkDream
  • صفحه اصلی
  • فروشگاه
  • بلاگ
  • تماس با ما
  • درباره ما
0

ورود و ثبت نام

بلاگ

آکادمی شبکه NetworkDreamبلاگدسته‌بندی نشدهپیکربندی اولیه HAProxy

پیکربندی اولیه HAProxy

19 ژانویه 2025
ارسال شده توسط علیرضا کریمی
دسته‌بندی نشده
677 بازدید

در مطلب قبلی با عنوان “نصب HAProxy بر روی Ubuntu” چگونگی نصب haproxy بر روی Ubuntu را شرح دادیم. در این مطلب قصد داریم تنظیمات اولیه و ابتدایی haproxy را انجام دهیم. پیکربندی haproxy بسیار ساده بوده و به دور از پیچیدگی است. یکی از مزایای haproxy داشتن قابلیتهای بسیار و قدرتمند بودن در عین سادگی است.
در سناریوی مد نظر ما سه وب سرور مانند شکل زیر وجود دارند و وظیفه haproxy تقسیم بار (درخواستهای دریافتی از کاربران) بین این سه سرور است. معمولا haproxy یک آدرس IP در رنج آدرس سرورهای واقعی دارد.

نکته: معمولا توپولوژیهای کشیده شده از load balancerها به گونه‌ای است که افراد گمان میکنند default gateway سرورها باید سرور load balancer باشد. اما معمولا اینطور نیست و default gateway سرورها یک روتر در شبکه است.

ویرایش فایل haproxy.cfg

برای پیکربندی haproxy باید فایل haproxy.cfg را ویرایش کرد. این فایل در مسیر etc/haproxy قرار دارد. این فایل را با یک ویرایشگر مانند vi باز کنید. پیکربندی اولیه این فایل به صورت زیر خواهد بود. این فایل از دارای دو بخش global و default میباشد که تنظیمات اولیه و کلی haproxy را در خود جای داده‌اند.

global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
...

defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http

برای انجام تنظیمات حداقلی باید دو بخش frontend و backend را به انتهای این فایل اضافه کرد. به عنوان مثال اگر شما دارای سه وب سرور با آدرسهای 10.0.0101 و 10.0.0.102 و 10.0.0.103 باشید. آدرس سرور haproxy نیز 10.0.0.50 باشد و بخواهید ترافیک را بین سرورها تقسیم کنید، پیکربندی haproxy به صورت زیر خواهد بود.

frontend MY_Proxy
bind 10.0.0.50:80
default_backend My_Web_Cluster

backend My_Web_Cluster
server Server_01 10.0.0.101:80 check
server Server_02 10.0.0.102:80 check
server Server_03 10.0.0.103:80 check

در بخش frontened تنظیمات به گونه‌ای است که haproxy بر روی پورت 80 به درخواستهای HTTP گوش میکند و این درخواستها را به یکی از سه سرور مشخص شده در قسمت backend ارسال میکند. با استفاده از امکان check میتوان سلامتی سرورها را بررسی کرد و از فرستادن درخواستها به سروری که دچار مشکل شده است جلوگیری کرد.

بررسی درستی تنظیمات

پس از انجام تغییرات در فایل haproxy.cfg میتوانید درست بودن این فایل پیکربندی را توسط فرمان زیر چک کنید.

root@HAProxy:/home/alireza# haproxy -f /etc/haproxy/haproxy.cfg -c

Configuration file is valid

سپس برای اعمال تغییرات انجام شده باید سرویس haproxy را restart کنید. برای این کار از یکی از دو فرمان زیر میتوانید استفاده کنید.

root@HAProxy:/home/alireza# service haproxy restart

or

root@HAProxy:/home/alireza# /etc/init.d/haproxy reload

سایر امکانات و قابلیتهای haproxy

haproxy دارای امکانات بسیار زیاد دیگری مانند:
– مشاهده عملکرد و وضعیت سرورها از طریق وب
– مشخص کردن الگوریتم تقسیم بار بین سرورها
– session persistency (وصل شدن یک کاربر به سرور اولیه در درخواستهای بعدی کاربر)
– ssl offloading (قرار دادن ssl certificate سایت بر روی haproxy به جای وب سرور)
– دستکاری هدرهای HTTP در درخواستهای کاربران و یا جوابهای سرور
– افزایش امنیت web application و جلوگیری از پاره‌ای از حملات
– high availability از طریق داشتن haproxy پشتیبان و وارد شدن خودکار به مدار در صورت از کار افتادن سرور اول
– و … می‌باشد.

اشتراک گذاری:
درباره علیرضا کریمی

من علیرضا کریمی هستم و تقریبا 15 سالی هست که توی فیلد شبکه‌های کامپیوتری کار میکنم.

نوشته های بیشتر از علیرضا کریمی
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
در یوتوب
ما را دنبال کنید!

مطالب زیر را حتما مطالعه کنید

پروتکل dns
پروتکل DNS
پروتکل DNS (Domain Name System) یکی از مهم‌ترین پروتکل‌های اینترنت است که وظیفه تبدیل نام...
پیکربندی DHCP Snooping در سوئیچ سیسکو
DHCP Snooping چیست و چه کاربردی دارد؟ یکی از مشکلاتی که ممکن است در شبکه...
توپولوژیهای شبکه
چطور چند کامپیوتر را با هم شبکه کنیم؟
روش‌های شبکه کردن چند کامپیوتر در مرحله قبل، ما دو کامپیوتر را با هم شبکه...
نصب HAProxy بر روی Ubuntu
معرفی HAProxy به طوره ساده می‌توان گفت HAProxy یک نرم افزار متن باز است که...
SDM Template در سوئیچهای سیسکو
کاربرد SDM template میزان منابع در سوئیچهای کوچک (کوچک در مقایسه با سوئیچهای شاسی دار...
جستجو برای:
دسته‌ها
  • دسته‌بندی نشده
  • مقالات
نوشته‌های تازه
  • مزایای گذراندن دوره‌های سیسکو به‌ ویژه دوره CCNA
  • پروتکل DNS
  • پیکربندی DHCP Snooping در سوئیچ سیسکو
  • پیکربندی اولیه HAProxy
  • چطور چند کامپیوتر را با هم شبکه کنیم؟
درباره NetworkDream

شروع NetworkDream برای من جایی برای یادداشت کردن تجربیات خودم درباره شبکه و یه جورایی مستند کردن بعضی از اونها بود.

فهرست سفارشی
  • صفحه نخست
  • بلاگ
  • تماس با ما
  • حساب کاربری من
  • درباره ما
  • سبد خرید
  • فروشگاه
تمام حقوق برای NetworkDream محفوظ است.

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت