Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
ALastverteilerist Teil der entscheidenden modernen IT-Infrastruktur, die darauf ausgelegt ist, den Netzwerkverkehr effizient auf mehrere Server oder Ressourcen zu verteilen. Dies verbessert die Skalierbarkeit und Leistung des Systems, indem verhindert wird, dass ein einzelner Server überlastet wird. Der Load Balancer, der sich zwischen den Clients und den Servern auf der Rückseite befindet, minimiert die Reaktionszeit bei Nutzung der verfügbaren Ressourcen.
Load Balancer führen diese grundlegenden Aufgaben aus, die Fehlertoleranz, Verkehrsverteilung und Sitzungsbeständigkeit umfassen. Ein Load Balancer kann ein primäres Softwareprogramm, ein physisches Produkt oder ein cloudbasierter Dienst sein, der von AWS oder Azure bereitgestellt wird. Einige der am häufigsten verwendeten Algorithmen für die Verkehrsverteilung sind Round Robin, Least Connections und IP Hash.
HAProxy Dockerbezieht sich auf das Platzieren des HAProxy-Load-Balancers in einem Docker-Container. Die Leistungsfähigkeit der Verkehrsmanagement-Funktionen von HAProxy kann nun mit der Flexibilität und Portabilität von Docker kombiniert werden. HAProxy ist ein beliebter, weit verbreiteter, quelloffener Load Balancer für Webanwendungen und Mikroservice-Umgebungen, der hohe Verfügbarkeit und Reverse-Proxying bietet. Die Vorteile der Ausführung von HAProxy in einem Docker-Container-Host umfassen einfache Bereitstellung, Isolation, Skalierbarkeit und Plattformunabhängigkeit. HAProxy Docker kann den Datenverkehr effizient über mehrere Backend-Dienste verteilen, die Gesundheit von Containern überwachen und die Weiterleitung dynamisch basierend auf der Verfügbarkeit von Containern anpassen.
Defektes Bild Von Pixabay hinzufügen, aus Ihren Dateien auswählen oder ein Bild hierher ziehen.
Es unterstützt Funktionen wie SSL/TLS-Beendigung, Sitzungspersistenz und mehrere Lastverteilungsalgorithmen, einschließlich Round Robin und Least Connections. Dies macht HAProxy Docker zu einer hervorragenden Möglichkeit, containerisierten Datenverkehr zu verwalten, da es sich gut mit Orchestrierungstools wie Kubernetes oder Docker Swarm integrieren kann, um dynamische Skalierung und automatische Serviceerkennung bereitzustellen. Dies stellt sicher, dass moderne Anwendungen ein robustes, leistungsstarkes und sicheres Verkehrsmanagement ohne Dateiprobleme haben.
HAProxy glänzt darin, die Last des Netzwerkverkehrs auf viele Backend-Server zu verteilen. Seine zahlreichen Lastverteilungsalgorithmen umfassen Round Robin, Least Connections und IP Hash, sodass Kunden den Datenverkehr entsprechend den besonderen Anforderungen ihrer Anwendungen anpassen können. Dadurch kann HAProxy Datenverkehr sowohl auf Ebene 4 akzeptieren(TCP)und Layer 7(HTTP/HTTPS)unterstützte Architekturen, die es im Hochleistungsbereich von einfachen TCP-Routing-Anwendungen bis hin zur komplexen Anwendungs-Ebenen-Lastverteilung platzieren.
Die zentrale Funktion, hohe Verfügbarkeit, bedeutet, den Dienst stets in Betrieb zu halten. HAProxy leitet den Verkehr von Servern weg, die aufgrund des Gesundheitszustands der Backend-Server als ungesund oder ausgefallen erwiesen sind. Failover verhindert zu viel Ausfallzeit in Fällen, in denen ein Server nicht aktiv ist oder unerwartet ausfällt.
HAProxy unterstützt SSL/TLS vollständig und gewährleistet so eine sichere Kommunikation vom Client zu den Servern. Zusätzlich kann HAProxy SSL/TLS-Verbindungen beenden, um Verschlüsselungs- und Entschlüsselungsaufgaben von den Backend-Servern auszulagern und die Leistungsfähigkeit der Backend-Server zu verbessern. Wenn eine Ende-zu-Ende-Verschlüsselung erforderlich ist, kann HAProxy den verschlüsselten Datenverkehr an die dahinterliegenden Dienste weiterleiten.
HAProxy ist einer der besten Reverse-Proxies, um den gesamten eingehenden Datenverkehr von Client-Anfragen an die entsprechenden Dienste auf der Backend-Seite weiterzuleiten. Es unterstützt Funktionen wie das Ändern von Headern, Weiterleitungen von URLs oder sogar einige spezialisierte Routings, die auf bestimmten Benutzerbedingungen basieren, die nach bestimmten Regeln festgelegt werden können. Daher kann HAProxy neben Microservices auch als einer der geeigneten Kandidaten für eine Multi-Service-Architektur angesehen werden.
HAProxy ist voll von Sicherheitsfunktionen wie Ratenbegrenzung, DDoS-Schutz und ACLs. All diese werden verwendet, um eingehenden Datenverkehr zu filtern, was bedeutet, dass unangenehme Anfragen, die sonst Ihre Backend-Server erreichen könnten, Ihre Anwendungen stabil halten.
HAProxy ist hoch skalierbar. Es kann problemlos Millionen gleichzeitiger Verbindungen unterstützen, ohne dass eine Verzögerung mit der Nutzung verbunden ist, und ohne bei der Skalierung Latenzprobleme zu haben. Diese Umgebung unterstützt Container-Orchestrierungsumgebungen wie Kubernetes und Docker Swarm, wobei ihre containerisierten Workloads die Vorteile von dynamischem Skalieren und Dienstentdeckung bieten.
HAProxy verfügt über eine fein granulierte Protokollierung, die dabei helfen kann, Abläufe zu verstehen, Probleme zu beheben und die Leistung zu analysieren. Es arbeitet nahtlos mit dem Überwachungstool Prometheus, Grafana und Datadog zusammen, um unter anderem Echtzeitdaten über die Gesundheit der Server, den Netzwerkverkehrsfluss und die Ressourcennutzung darzustellen.
HAProxy bietet eine sehr flexible und leistungsstarke Konfigurationsmöglichkeit. Damit können Benutzer recht komplexe Routingregeln definieren, beispielsweise bedingtes Routing basierend auf Headern oder Cookies. URL-Umschreibung sowie Sitzungsbeständigkeit werden unterstützt, sogar Multi-Tenancy, wobei eine Instanz von HAProxy mehrere Domains oder Anwendungen bedienen kann.
Die Installation und Ausführung von HAProxy mit Docker ist ein relativ einfacher Prozess. Im Folgenden sind die Schritte nacheinander aufgeführt.
Stellen Sie sicher, dass Docker auf Ihrem System installiert ist. Um die Installation zu überprüfen, können Sie den folgenden Befehl ausführen:
docker --version
docker --version
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker --version
Wenn Docker nicht auf dem System installiert ist, besuchen Sie dieDocker-Linkhier herunterladen und von der offiziellen Website installieren.
Ziehen Sie das offizielle HAProxy-Image von Docker Hub. Die neueste Version von HAProxy wird die aktuellste stabile Version herunterladen:
docker pull haproxy:latest
docker pull haproxy:latest
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker pull haproxy:latest
HAProxy benötigt eine Konfigurationsdatei, die sein Verhalten definiert. Nach dem Herunterladen der jeweiligen Dockerfile-Links für Docker und HAProxy erstellen Sie eine Datei namens haproxy.cfg mit folgendem Beispielinhalt:
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
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
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'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
Diese HAProxy-Konfiguration definiert:
Frontend: Auf Port 4500 horchen und den Datenverkehr an das Backend weiterleiten
Backend: Verteilt den Datenverkehr zwischen zwei Servern, nämlich app1
Führen Sie den HAProxy Docker-Container aus, indem Sie die Konfigurationsdatei einbinden und die erforderlichen Ports freigeben:
docker run -d --network haproxy --name haproxy-container -p 4500:4500 -v D:\Docker\haproxy-config\haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro haproxy:latest
docker run -d --network haproxy --name haproxy-container -p 4500:4500 -v D:\Docker\haproxy-config\haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro haproxy:latest
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker run -d --network haproxy --name haproxy-container -p 4500:4500 -v D:\Docker\haproxy-config\haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro haproxy:latest
-d: Der Abtrennungsmodus läuft für den Container.
-p 4500:4500: Ordnet Port 4500 auf dem Host dem Port 4500 im Container zu.
Öffnen Sie einen Webbrowser und navigieren Sie zu http://localhost:4500 oder zur IP-Adresse Ihres Servers, um das Traffic-Routing zu testen.
Um die HAProxy-Statistiken zu überprüfen, führen Sie den folgenden Befehl aus:
IronSecureDocist ein Dienstprogramm für Dokumentenverwaltung und -sicherheit, das auf starke Verschlüsselung, fortschrittliche PDF-Bearbeitung und digitale Signatur setzt. Es bietet Unternehmen und Entwicklern Dokumentenvertraulichkeit und -integrität mit einem reibungslosen Zugriff und erleichtert somit die Verarbeitung von PDF-Dokumenten ohne direkte oder indirekte Abhängigkeiten. Dies kann auch als Aggressive PDF API bezeichnet werden, wenn seine Funktionen es Entwicklern ermöglichen, PDF-Dateien und Dokumente programmatisch zu erstellen, hochzuladen, zu manipulieren und zu sichern.
Darüber hinaus ist IronPDF eine PDF-API, die die Erstellung eines PDF aus beliebigen Dateneingaben erleichtert und das Hinzufügen oder Bearbeiten von Inhalten mithilfe von Parametern wie Text, Bildern und Metadaten ermöglicht. Dies umfasst Funktionen wie das Zusammenführen mehrerer PDFs, um zusammengesetzte Dateien zu erstellen, das Aufteilen von Dokumenten und sogar Kommentare, Hervorhebungen oder Wasserzeichen für Anmerkungen.
Es bietet Passwortschutz, AES-Verschlüsselung und zertifikatbasierte Zugriffskontrollen, die alle Ihre sensiblen Informationen und Daten schützen. Abgesehen davon ermöglicht es die digitale Signatur, um Ihre Dokumente zu authentifizieren und die Nichtabstreitbarkeit zu gewährleisten - ein sehr wichtiges Merkmal in den Finanz-, Medizin- und Rechtsbranchen. Die Audit-Trail-Funktionalität ermöglicht die Überwachung aller auf den Dokumenten ausgeführten Aktivitäten für mehr Compliance und Verantwortlichkeit.
Ziehen Sie das Docker-Image von IronSecureDoc mit dem Befehl in der Eingabeaufforderung oder einem offenen Terminalfenster gemäß dem folgenden Repository.
docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker pull ironsoftwareofficial/ironsecuredoc
ironSecureDoc, ein Betrieb-Container. IronSecureDoc, ein Betrieb-Container.
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
Der oben genannte Docker-Run-Befehl startet eine Containerinstanz von IronSecureDoc. Jetzt greifen Sie über den Port http://localhost:8080/swagger/index.html auf das IronSecureDoc zu, wie auf der unten stehenden Seite.
Bereiten Sie eine haproxy.cfg-Datei vor, um Ihre Frontend- und Backend-Konfigurationen zu definieren. Unten sehen Sie ein einfaches Beispielkonfiguration:
explain below haproxy.cfg file
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/ }
#default_backend ironsecuredoc
backend ironsecuredoc
balance roundrobin
http-request set-path /swagger/index.html
server ironsecuredoc_server3 host.docker.internal:8080 check
backend ironsecuredoc_encrypt
balance roundrobin
http-request set-path /v1/document-services/pdfs/encrypt
server ironsecuredoc_server3 host.docker.internal:8080 check
backend ironsecuredoc_ping
balance roundrobin
http-request set-path /v1/document-services/ping
server ironsecuredoc_server3 host.docker.internal:8080 check
explain below haproxy.cfg file
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/ }
#default_backend ironsecuredoc
backend ironsecuredoc
balance roundrobin
http-request set-path /swagger/index.html
server ironsecuredoc_server3 host.docker.internal:8080 check
backend ironsecuredoc_encrypt
balance roundrobin
http-request set-path /v1/document-services/pdfs/encrypt
server ironsecuredoc_server3 host.docker.internal:8080 check
backend ironsecuredoc_ping
balance roundrobin
http-request set-path /v1/document-services/ping
server ironsecuredoc_server3 host.docker.internal:8080 check
explain below haproxy.cfg file global log stdout format raw local0 defaults log global mode http [option] httplog timeout connect 5000Ds timeout client 50000Ds timeout server 50000Ds frontend http_front bind *:4500 acl Function req_hdr_val(Content- ByVal Length As ) As body_has_data Implements req.hdr_val
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' path /ironsecuredoc }
' {
' path_beg /ironsecuredoc/
' }
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' use_backend ironsecuredoc_ping if
' {
' path /ping }
' {
' path_beg /ping/
' }
' use_backend ironsecuredoc_encrypt if
' {
' path /encrypt }
' {
' #default_backend ironsecuredoc
' path_beg /encrypt/
' }
''INSTANT VB TODO TASK: The following line uses invalid syntax:
'' backend ironsecuredoc balance roundrobin http-request @set-path /swagger/index.html server ironsecuredoc_server3 host.docker.internal:8080 check backend ironsecuredoc_encrypt balance roundrobin http-request @set-path /v1/document-services/pdfs/encrypt server ironsecuredoc_server3 host.docker.internal:8080 check backend ironsecuredoc_ping balance roundrobin http-request @set-path /v1/document-services/ping server ironsecuredoc_server3 host.docker.internal:8080 check
Diese Konfigurationsdatei von HAProxy erstellt ein System, das in der Lage ist, HTTP-Verkehr für die mehreren IronSecureDoc-Dienste zu verarbeiten. Es wird dann global für die rohe Logausgabe an stdout konfiguriert, und der Standardabschnitt aktiviert HTTP als Modus sowie detailliertes HTTP, zusammen mit der Festlegung der Verbindungstimeouts für die Clients und den Server. Das Frontend ist http_front, das auf Port 4500 definiert ist, einschließlich Regeln zur Verwaltung des Routings basierend auf dem Pfad der HTTP-Anfrage. Zum Beispiel werden Anfragen an /ironsecuredoc an das ironsecuredoc-Backend weitergeleitet. Anfragen an /ping und /encrypt werden an ihre jeweiligen Backends weitergeleitet. Die ACL-Regel identifiziert Anforderungen, die über den Content-Length-Header einen Body haben. Wenn ein Body vorhanden ist, werden GET-Anfragen in POST-Anfragen umgewandelt.
Der Round-Robin-Algorithmus wird verwendet, um den Datenverkehr über Backends zu verteilen. Jeder Backend-Server schreibt den Anforderungspfad um, bevor er ihn an den entsprechenden Server weiterleitet. Zum Beispiel schreibt das ironsecuredoc-Backend Pfade zu /swagger/index.html um. Die Backends ironsecuredoc_encrypt und ironsecuredoc_ping schreiben Pfade nach /v1/document-services/pdfs/encrypt bzw. /v1/document-services/ping um. Alle zeigen auf einen einzigen Server, der unter host.docker.internal:8080 läuft. Gesundheitsprüfungen werden hinzugefügt, um sicherzustellen, dass ein Server verfügbar ist. Somit gewährleistet die Konfiguration ein reibungsloses Verkehrsmanagement für verschiedene Dienste, während sie flexibel in der Manipulation von Anfragen ist.
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'
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'
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'curl -X 'POST' \ 'http: -H 'accept: */ *' \ -H 'Content-Type: multipart/form-data' \ -F 'pdf_file=@test.pdf;type=application/pdf'
Aber wenn wir auf dieIronSecureDoc API, möchten wir möglicherweise auch nach dem Passwort fragen, um die Anfrage mit dem Passwort eines Benutzers für ein Dokument zu verschlüsseln. Die Ausgabedatei des Dokuments wird automatisch gesendet und heruntergeladen und sicher gespeichert.
Es wird auch HAProxy mit der IronSecureDoc-Software integrieren, um eine zuverlässige und skalierbare Lösung für die Verwaltung der Dienste zur Dokumentensicherheit mit optimiertem Traffic-Routing und Lastverteilung sicherzustellen. Die hohe Verfügbarkeit wird durch die effiziente Verteilung des Datenverkehrs über mehrere Instanzen von IronSecureDoc sichergestellt, indem Gesundheitsprüfungen zur Handhabung von Failovers implementiert werden, zusammen mit der Bereitstellung benutzerdefinierter Routing-Regeln zu verschiedenen Dienstendpunkten.
Diese Konfiguration unterstützt die flexible Handhabung komplexer Arbeitsabläufe wie Verschlüsselung und Gesundheitsüberwachung, während sie in Zukunft skalierbar bleibt. Egal, ob in einer containerisierten oder traditionellen Umgebung, das leichte und dennoch leistungsstarke Design von HAProxy ist so gestaltet, dass es das Sicherheitsfeature von IronSecureDoc mit zuverlässiger und effizienter Verwaltung für sichere Dokumente ergänzt. Die Funktionen von HAProxy unterstützen Organisationen dabei, die Bereitstellung von IronSecureDoc zu verbessern, um die Leistung und Widerstandsfähigkeit der Anwendungen sicherzustellen.
Mit der IronSecureDoc REST API sind sicheres Drucken und effektive PDF-Formatierung und -Verarbeitung jetzt problemlos in Anwendungen integrierbar, die von Web-, Mobil- und Unternehmenssystementwicklern entwickelt werden. Um mehr über die Lizenz von IronSecureDoc zu erfahren, besuchen Sie die lizenzierungsseite. Für Informationen über die Produkte von Iron Software, folgen Sie demBibliothekssuite-Seite.
10 .NET API-Produkte für Ihre Bürodokumente