Как да конфигурирате HAProxy като обратен прокси

Kak Da Konfigurirate Haproxy Kato Obraten Proksi



Когато имате уеб сървър, наличието на начин за препращане на клиентските заявки и отговора на сървъра помага при разпределянето на трафика и повишава сигурността. Обратен прокси, като HAProxy, действа като посредник между вашето уеб приложение и клиентските устройства, когато е конфигуриран. По този начин той получава клиентските заявки и ги препраща към съответния уеб сървър, докато получава отговора на сървъра и ги предава на клиентите. Конфигурирането на HAProxy от страната на вашия сървър да действа като ваш обратен прокси е лесен процес. Тази публикация подробно описва стъпките, които трябва да предприемете.

Защо да използвате обратен прокси?

Преди да обсъдим стъпките за конфигуриране на HAProxy като обратен прокси, нека бързо подчертаем защо обратният прокси работи във ваша полза. Следните са предимствата, които получавате при използването на HAProxy като обратен прокси:

  1. Балансиране на натоварването - Вашият уеб сървър може в един момент да има случай на много клиентски заявки, които, ако не бъдат обработени добре, могат да го претоварят, което причинява неочаквано прекъсване. Въпреки това, конфигурирането на обратен прокси гарантира, че трафикът се разпределя между задните сървъри, за да се гарантира, че нито един сървър не се претоварва със заявки.
  2. Защитна стена и сигурност – Обратният прокси свързва клиентските устройства към уеб сървъра. По този начин се намалява рискът от директно излагане на нашите бекенд сървъри на интернет. По този начин злонамереният трафик може лесно да бъде филтриран и блокиран, преди да повреди сървърите.
  3. По-добро кеширане – С обратен прокси ще забележите цялостното подобрение на производителността, тъй като времето за зареждане ще бъде намалено чрез кеширане на статичното съдържание. Освен това ще постигнете по-добро потребителско изживяване.
  4. Прекратяване на SSL/TLS – С обратен прокси, криптирането и декриптирането на SSL/TLS връзките става безпроблемно и няма да се налага сървърите ви да поемат тази задача, намалявайки натоварването им.

Как да конфигурирате HAProxy като обратен прокси

След като обяснихме защо обратен прокси като HAProxy е от съществено значение, нека дадем стъпките за конфигуриране, които да следвате.







Стъпка 1: Инсталирайте HAProxy



Вероятно вече имате инсталиран HAProxy на вашата система. Ако е така, пропуснете тази стъпка. Въпреки това, за някой нов в това, изпълнете следната команда, за да инсталирате HAProxy:



$ sudo apt инсталирайте haproxy

Вече го имаме инсталиран в нашия случай.





Стъпка 2: Редактирайте конфигурационния файл на HAProxy



HAProxy има конфигурационен файл, до който трябва да влезете и да го редактирате, за да конфигурирате като ваш обратен прокси. Започнете, като отворите конфигурационния файл с помощта на текстов редактор.

$ sudo nano /etc/haproxy/haproxy.cfg

След като се отвори, имайте предвид, че има основни конфигурации за секциите по подразбиране и глобалните. След това трябва да създадем още две секции: frontend и backend. Предният интерфейс дефинира интерфейсите, които трябва да получават клиентските заявки, докато бекендът определя сървърите, които ще обработват трафика.

За този пример ние конфигурираме интерфейса да приема клиентските заявки от портове 80 и 81. След това създаваме правило за разпределяне на трафика, така че връзките от порт 80 да се насочват към определен сървър, докато тези от порт 81 отиват към различен сървър. Нашата предна част е както е показано по-долу:

Тъй като създадохме два бекенд сървъра, backend2 и linux_backend, трябва да създадем бекенд секциите и за двата сървъра. Ние определяме какъв IP да разпределяме трафика към нашия „сървър1“ и „сървър2“ за всеки.

След като конфигурационният файл бъде редактиран, запазете го и излезте от файла. Имайте предвид, че има много начини за конфигуриране на HAProxy в зависимост от вашите нужди. За нашия случай създаваме уеб сървърите, използвайки посочения IP адрес, за да насочваме нашия трафик. Променете IP адресите, за да съответстват на тези на вашите уеб сървъри и кой порт искате да слушате.

Стъпка 3: Проверете валидността

С HAProxy има команда, която ви позволява да проверите дали вашият конфигурационен файл е валиден. Изпълнете следната команда и вижте какъв изход получавате:

$ sudo haproxy -c -f /etc/haproxy/haproxy.cfg

Ако получите подобен резултат, това потвърждава, че вашият конфигурационен файл е валиден. В противен случай това ще доведе до грешки.

Стъпка 4: Тествайте обратния прокси

Използвайки команда като „curl“, можете да изпратите трафик към вашия уеб сървър и да видите как реагира. За нашия случай използваме Python3 за създаване на уеб сървъри.

Изпълнението на командата „curl“ потвърждава, че нашият уеб сървър слуша посочения порт и че HAProxy е разпределил трафика към посочения сървър въз основа на нашия конфигурационен файл.

Можете също така да получите достъп до уеб сървъра си в браузър и да потвърдите, че обратният прокси работи.

Тъй като имаме два уеб сървъра, които могат да се използват в зависимост от порта, който се използва от клиентските устройства, нека свържем различен уеб сървър към различен порт и да видим какво ще се случи.

Следният изход показва, че HAProxy изпрати нашия трафик към втория бекенд сървър, след като установи, че клиентската заявка е изпратена през порт 81, потвърждавайки, че разпределението на трафика работи според очакванията.

Ето как да конфигурирате HAProxy като обратен прокси.

Заключение

HAProxy е отличен избор за обратен прокси за вашия уеб сървър. Конфигурирането му е лесно. Посочете само кой порт да слушате за клиентски заявки и какви правила да използвате за балансиране на натоварването. След това добавете бекенд сървърите, които да използвате, и вашият обратен прокси ще бъде готов и работещ. Тази публикация сподели стъпките, които трябва да следвате, и демонстрира пример, за да сте сигурни, че ще се чувствате удобно с HAProxy.