IRONSOFTWAREHOME

Iron Suite for .NET

10 bibliotek .NET. Jeden kompletny pakiet dokumentów.

IRONPDF
IRONWORD
IRONXL
IRONPPT
IRONOCR
IRONBARCODE
IRONQR
IRONPRINT
IRONZIP
IRONWEBSCRAPER
KORZYSTANIE Z IRONSECUREDOC

Haproxy Docker Compose (jak to działa dla programistów)

Curtis Chau
Curtis Chau
Updated: 8 maja 2026

[Load balancer](https://en.wikipedia.org/wiki/Load_balancing_(computing) jest częścią kluczowej nowoczesnej infrastruktury IT, zaprojektowaną w celu efektywnego rozdzielania ruchu sieciowego między wieloma serwerami lub zasobami. Zwiększa to skalowalność i wydajność systemu, zapobiegając przeciążeniu pojedynczego serwera. Moduł równoważenia obciążenia, umieszczony pomiędzy klientami a serwerami w warstwie zaplecza, minimalizuje czas odpowiedzi przy wykorzystaniu dostępnych zasobów.

Urządzenia równoważące obciążenie realizują te podstawowe zadania, które obejmują odporność na awarie, dystrybucję ruchu oraz trwałość sesji. Moduł równoważenia obciążenia może być podstawowym programem, produktem fizycznym lub usługą w chmurze świadczoną przez AWS lub Azure. Niektóre z najczęściej stosowanych algorytmów alokacji ruchu to Round Robin, Least Connections i IP Hash.

Czym jest HAProxy Docker?

HAProxy Docker oznacza umieszczenie modułu równoważenia obciążenia HAProxy w kontenerze Docker. Możliwości HAProxy w zakresie zarządzania ruchem można teraz połączyć z elastycznością i przenośnością Docker. HAProxy to popularny, szeroko stosowany, otwarty program do równoważenia obciążenia dla aplikacji internetowych i środowisk mikrousług, oferujący wysoką dostępność i odwrotne proxy. Zalety uruchamiania HAProxy w kontenerze Docker obejmują łatwe wdrażanie, izolację, skalowalność i niezależność od platformy. HAProxy Docker może efektywnie rozdzielać ruch między wieloma usługami zaplecza, monitorować stan kontenerów oraz dynamicznie dostosowywać routing w oparciu o dostępność kontenerów.

Obsługuje takie funkcje, jak rozwiązanie umowy SSL/TLS, trwałość sesji oraz wiele algorytmów równoważenia obciążenia, w tym Round Robin i Least Connections. To sprawia, że HAProxy Docker jest doskonałym sposobem na zarządzanie ruchem kontenerowym, ponieważ może się dobrze integrować z narzędziami do orkiestracji, takimi jak Kubernetes czy Docker Swarm, zapewniając dynamiczne skalowanie i automatyczne wykrywanie usług. Dzięki temu nowoczesne aplikacje mają solidne, wydajne i bezpieczne zarządzanie ruchem bez żadnych problemów z plikami.

Funkcje HAProxy Docker

Równoważenie obciążenia

HAProxy doskonale radzi sobie z rozłożeniem obciążenia ruchu sieciowego na wiele serwerów zaplecza. Wśród wielu algorytmów równoważenia obciążenia znajdują się Round Robin, Least Connections i IP Hash, dzięki czemu klienci mogą dostosować przepływ ruchu do specjalnych potrzeb swoich aplikacji. Dzięki temu HAProxy może przyjmować ruch zarówno w architekturach obsługujących warstwę 4 (TCP), jak i warstwę 7 (HTTP/HTTPS), co zapewnia mu wysoką wydajność w zakresie od prostych aplikacji routingu TCP po złożone równoważenie obciążenia na poziomie warstwy aplikacji.

Wysoka dostępność

Główna cecha, czyli wysoka dostępność, oznacza utrzymanie usługi w stanie ciągłej gotowości i działania. HAProxy przekierowuje ruch z serwerów, które okazały się nieprawidłowe lub uległy awarii, na podstawie statusu kondycji serwerów zaplecza. Przełączanie awaryjne zapobiega zbyt długim przestojom w sytuacjach, gdy serwer nie działa lub ulega nieoczekiwanej awarii.

Obsługa SSL/TLS

HAProxy w pełni obsługuje protokoły SSL/TLS, zapewniając bezpieczną komunikację między klientem a serwerami. Ponadto HAProxy może przerywać połączenia SSL/TLS, aby odciążyć serwery zaplecza od zadań szyfrowania i deszyfrowania, poprawiając w ten sposób wydajność tych pierwszych. Jeśli wymagane jest szyfrowanie typu end-to-end, HAProxy może przekazywać zaszyfrowany ruch do usług znajdujących się za nim.

Proxy odwrotne

HAProxy to jeden z najlepszych serwerów proxy odwrotnych do wysyłania całego ruchu żądań klientów do powiązanych usług po stronie zaplecza. Obsługuje takie funkcje, jak zmiana nagłówków, przekierowania z adresów URL, a nawet specjalistyczne routowanie oparte na konkretnych warunkach użytkownika, które można ustawić zgodnie z określonymi regułami. W związku z tym HAProxy można również uznać za jednego z realnych kandydatów do architektury wielousługowej, obok mikrousług.

Zwiększenie bezpieczeństwa

HAProxy oferuje wiele funkcji bezpieczeństwa, takich jak ograniczanie przepustowości, ochrona przed atakami DDoS oraz listy kontroli dostępu (ACL). Wszystkie te narzędzia służą do filtrowania przychodzącego ruchu, co oznacza, że złośliwe żądania, które w przeciwnym razie mogłyby dotrzeć do serwerów zaplecza, zostaną zablokowane, zapewniając stabilność aplikacji.

Skalowalność

HAProxy charakteryzuje się wysoką skalowalnością. Może z łatwością obsługiwać miliony jednoczesnych połączeń bez opóźnień związanych z użyciem oraz skalować się bez problemów z opóźnieniami. Środowisko to obsługuje środowiska orkiestracji kontenerów, takie jak Kubernetes i Docker Swarm, a ich konteneryzowane obciążenia zapewniają korzyści wynikające z dynamicznego skalowania i wykrywania usług.

Rejestrowanie i monitorowanie

HAProxy posiada szczegółowe logowanie, które może pomóc w zrozumieniu przepływów, rozwiązywaniu problemów i analizowaniu wydajności. Współpracuje płynnie m.in. z narzędziem monitorującym Prometheus, Grafaną i Datadogiem, przedstawiając dane w czasie rzeczywistym dotyczące kondycji serwerów, przepływu ruchu sieciowego i wykorzystania zasobów.

HAProxy zapewnia łatwą elastyczność konfiguracji

HAProxy oferuje bardzo elastyczne i zaawansowane możliwości konfiguracyjne. Korzystając z niego, użytkownicy mogą definiować dość zaawansowane reguły routingu, takie jak routing warunkowy na podstawie nagłówków lub plików cookie. Obsługiwane jest przepisywanie adresów URL oraz trwałość sesji, a nawet wielodostępność, dzięki czemu jedna instancja HAProxy może obsługiwać wiele domen lub aplikacji.

Instalacja HAProxy za pomocą Docker

Instalacja i uruchomienie HAProxy przy użyciu Docker jest dość prostym procesem. Poniżej przedstawiono poszczególne etapy pracy.

Instalacja Docker

Upewnij się, że w systemie zainstalowano Docker. Aby sprawdzić instalację, możesz uruchomić poniższe polecenie:

docker --version
SHELL

Jeśli Docker nie jest zainstalowany w systemie, przejdź do linku Docker tutaj, aby pobrać i zainstalować go z oficjalnej strony internetowej.

Pobierz obraz HAProxy dla Docker

Pobierz oficjalny obraz HAProxy z serwisu Docker Hub. Poniższe polecenie pozwoli pobrać najnowszą stabilną wersję:

docker pull haproxy:latest
SHELL

Utwórz plik konfiguracyjny HAProxy

HAProxy wymaga pliku konfiguracyjnego, który definiuje jego zachowanie. Utworz plik o nazwie haproxy.cfg z nastepujaca trescia:

global
    log stdout format raw local0
defaults
    log     global
    mode    http
    timeout connect 5s
    timeout client  50s
    timeout server  50s
frontend http_front
    bind *:80
    default_backend http_back
backend http_back
    server app1 host.docker.internal:32769 check
Text

Ta konfiguracja HAProxy definiuje:

  • Frontend: nasłuchuje na porcie 80 i kieruje ruch do backendu.
  • Backend: Wskazuje app1 hostowane pod host.docker.internal:32769.

Uruchom kontener Docker HAProxy

Uruchom kontener HAProxy Docker, montując plik konfiguracyjny i udostępniając niezbędne porty:

docker run -d --network haproxy --name haproxy-container -p 80:80 -v $(pwd)/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro haproxy:latest
SHELL
  • -d: Uruchamia kontener w trybie odłączonym.
  • --name haproxy-container: Nadaje nazwę kontenerowi.
  • -p 80:80: Mapuje port 80 na hoście na port 80 w kontenerze.
  • -v $(pwd)/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro: Montuje lokalny plik konfiguracyjny do kontenera.

Dostęp do HAProxy

Otworz przegladarke internetowa i przejdz na http://localhost:80 lub na adres IP Twojego serwera, aby przetestowac trasowanie ruchu.

Czym jest IronSecureDoc?

IronSecureDoc to narzędzie do zarządzania dokumentami i zapewniania ich bezpieczeństwa, oparte na silnym szyfrowaniu, zaawansowanej obróbce plików PDF oraz podpisach cyfrowych. Zapewnia firmom i programistom poufność i integralność dokumentów przy płynnym dostępie, ułatwiając przetwarzanie dokumentów PDF bez bezpośrednich lub pośrednich zależności.

Ponadto IronPDF to interfejs API do obsługi plików PDF, który ułatwia tworzenie plików PDF na podstawie dowolnych danych wejściowych oraz dodawanie lub edytowanie treści przy użyciu parametrów, takich jak tekst, obrazy i metadane. Obejmuje to takie funkcje, jak łączenie kilku plików PDF, dzielenie dokumentów oraz dodawanie komentarzy, zaznaczeń lub znaków wodnych w celu adnotacji.

Zapewnia ochronę hasłem, szyfrowanie AES oraz kontrolę dostępu opartą na certyfikatach, aby zabezpieczyć wszystkie poufne informacje i dane. Ponadto umożliwia podpis cyfrowy w celu uwierzytelnienia dokumentów i zapewnienia nieodwołalności — bardzo ważnej funkcji w branżach finansowej, medycznej i prawnej. Funkcja ścieżki audytu umożliwia monitorowanie wszystkich czynności wykonywanych na dokumentach w celu zapewnienia zgodności z przepisami i rozliczalności.

Zainstaluj i uruchom IronSecureDoc

Pobierz obraz Docker IronSecureDoc, używając następującego polecenia w wierszu poleceń lub otwartym oknie terminala:

docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Uruchom kontener IronSecureDoc:

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL

To polecenie uruchamia instancję kontenerową IronSecureDoc. Mozesz teraz uzyskac dostep do IronSecureDoc na porcie http://localhost:8080/swagger/index.html.

Zintegruj IronSecureDoc s HAProxy

Przygotuj plik haproxy.cfg w celu zdefiniowania konfiguracji frontend i backend. Poniżej znajduje się prosty przykład konfiguracji:

global
    log stdout format raw local0
defaults
    log     global
    mode    http
    option  httplog
    timeout connect 5000ms
    timeout client  50000ms
    timeout server  50000ms
frontend http_front
    bind *:4500
    acl body_has_data req.hdr_val(Content-Length) gt 0
    http-request set-method POST if METH_GET body_has_data
    use_backend ironsecuredoc if { path /ironsecuredoc } || { path_beg /ironsecuredoc/ }
    use_backend ironsecuredoc_ping if { path /ping } || { path_beg /ping/ }
    use_backend ironsecuredoc_encrypt if { path /encrypt } || { path_beg /encrypt/ }
backend ironsecuredoc
    balance roundrobin
    http-request set-path /swagger/index.html
    server ironsecuredoc_server host.docker.internal:8080 check
backend ironsecuredoc_encrypt
    balance roundrobin
    http-request set-path /v1/document-services/pdfs/encrypt
    server ironsecuredoc_server host.docker.internal:8080 check
backend ironsecuredoc_ping
    balance roundrobin
    http-request set-path /v1/document-services/ping
    server ironsecuredoc_server host.docker.internal:8080 check
Text

Ta konfiguracja HAProxy obsługuje ruch HTTP dla wielu usług IronSecureDoc. Definiuje globalny surowy wydruk logów i ustawia domyślny tryb HTTP ze szczegółowym logowaniem. Frontend nasłuchuje na porcie 4500 i kieruje żądania na podstawie ścieżki. acl body_has_data sprawdza obecnosc danych i zamienia zapytania GET na POST, jesli to konieczne. Backend wykorzystuje algorytm Round Robin do równoważenia obciążenia, zapewniając odpowiednie przekazywanie żądań wraz z kontrolami stanu w celu zapewnienia dostępności serwera.

Aby wysłać proste żądanie szyfrowania za pomocą cURL:

curl -X 'POST' \
  'http://localhost:4500/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
SHELL

To żądanie skierowane do interfejsu API IronSecureDoc powoduje zaszyfrowanie hasła użytkownika w dokumencie PDF, a plik wyjściowy jest bezpiecznie wysyłany i pobierany.

Wnioski

Integracja HAProxy z oprogramowaniem IronSecureDoc zapewnia niezawodne i skalowalne rozwiązanie do zarządzania usługami bezpieczeństwa dokumentów z optymalizacją routingu ruchu i równoważeniem obciążenia. HAProxy efektywnie rozdziela ruch między wieloma instancjami IronSecureDoc, zapewniając wysoką dostępność dzięki kontrolom stanu i niestandardowym regułom routingu.

Ta konfiguracja pozwala na elastyczne zarządzanie złożonymi procesami, takimi jak szyfrowanie i monitorowanie stanu. HAProxy i IronSecureDoc wzajemnie się uzupełniają w środowisku kontenerowym, zwiększając odporność i wydajność wdrożenia.

Korzystając z interfejsu API REST IronSecureDoc, programiści mogą płynnie zintegrować bezpieczną obsługę dokumentów i efektywne zarządzanie plikami PDF ze swoimi aplikacjami internetowymi, mobilnymi i korporacyjnymi. Więcej informacji na temat licencji IronSecureDoc można znaleźć na stronie poświęconej licencjom. Aby dowiedzieć się więcej o produktach Iron Software, odwiedź stronę poświęconą Suite bibliotek.

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta