IRONSOFTWAREHOME

Iron Suite for .NET

10 .NET kütüphanesi. Tek bir tam belge suiti.

IRONPDF
IRONWORD
IRONXL
IRONPPT
IRONOCR
IRONBARCODE
IRONQR
IRONPRINT
IRONZIP
IRONWEBSCRAPER
IRONSECUREDOC KULLANIMI

Haproxy Docker Compose (Geliştiriciler için Nasıl Çalışır)

Curtis Chau
Curtis Chau
Updated: 8 Mayıs 2026

[yük dengeleyici](https://en.wikipedia.org/wiki/Load_balancing_(computing), modern BT alt yapısının önemli bir parçası olup, ağ trafiğini birden fazla sunucu veya kaynak arasına verimli bir şekilde dağıtmak için tasarlanmıştır. Bu, herhangi bir tek bir sunucunun aşırı yüklenmesini önleyerek sistemin ölçeklenebilirliğini ve performansını iyileştirir. Yük dengeleyici, istemciler ile arka uç sunucular arasında oturur, yanıt süresini en aza indirir ve mevcut kaynakları kullanır.

Yük dengeleyiciler, hata toleransı, trafik dağıtımı ve oturum kalıcılığı gibi temel görevleri yerine getirir. Yük dengeleyici ana bir yazılım programı, fiziksel ürün veya AWS veya Azure tarafından sağlanan bulut tabanlı bir hizmet olabilir. Trafik tahsisi için en sık kullanılan algoritmalar arasında Dönüşümlü Dağıtım, En Az Bağlantı ve IP Hash yer alır.

HAProxy Docker nedir?

HAProxy Docker, HAProxy yük dengeleyicinin bir Docker konteyneri içine yerleştirilmesini ifade eder. HAProxy'nin trafik yönetimi yetenekleri, Docker'ın esnekliği ve taşınabilirliği ile birleştirilebilir. HAProxy, yüksek kullanılabilirlik ve ters vekil sunma sağlayan web uygulamaları ve mikro hizmet ortamları için popüler, geniş çapta kullanılan açık kaynak yük dengeleyicidir. Docker kapsayıcı sunucusunda HAProxy çalıştırmanın avantajları, kolay dağıtım, izolasyon, ölçeklenebilirlik ve platform bağımsızlığıdır. HAProxy Docker, trafiği verimli bir şekilde birden çok arka uç hizmetine dağıtabilir, kapsayıcıların sağlığını izleyebilir ve kapsayıcıların mevcudiyetine bağlı olarak yönlendirmeyi dinamik bir şekilde ayarlayabilir.

Bu, SSL/TLS bitirme, oturum kalıcılığı ve Dönüşümlü Dağıtım ve En Az Bağlantı gibi birden fazla yük dengeleme algoritmasını destekleyen özellikleri içerir. Bu, HAProxy Docker'ı konteynerleştirilmiş trafiği yönetmek için mükemmel bir yol yapar çünkü Kubernety veya Docker Swarm gibi orkestrasyon araçlarıyla entegrasyon sağlayarak dinamik ölçekleme ve otomatik hizmet keşfi sunar. Bu, modern uygulamaların sağlam, yüksek performanslı ve güvenli trafik yönetimi sağlamasını sağlar.

HAProxy Docker Özellikleri

Yük Dengeleme

HAProxy, ağ trafiği yükünü birden çok arka uç sunucusu üzerine yayma konusunda mükemmeldir. Dönüşümlü Dağıtım, En Az Bağlantı ve IP Hash gibi birçok yük dengeleme algoritması ile müşteriler, uygulamalarının özel ihtiyaçlarına göre trafik akışını adapte edebilir. Bu, HAProxy'yi Hem Katman 4 (TCP) hem de Katman 7 (HTTP/HTTPS) destekli mimarilerde trafiği kabul etmesini sağlayarak, basit TCP yönlendirme uygulamalarından karmaşık uygulama katmanı yük dengelemeye kadar geniş bir performans aralığına sahip hale getirir.

Yüksek Erişilebilirlik

Merkez özellik, hizmeti sürekli açık ve çalışır durumda tutmak anlamına gelir. HAProxy, arka uç sunucularının sağlık durumlarına göre sağlıksız veya başarısız olduğu kanıtlanmış sunuculardan trafiği uzaklaştırır. Failover, bir sunucu canlı veya beklenmedik bir şekilde başarısız olduğunda çok fazla kesinti süresini önler.

SSL/TLS desteği

HAProxy, istemciden sunuculara güvenli iletişimi sağlayan SSL/TLS'yı tam destekler. Ek olarak, HAProxy, SSL/TLS bağlantılarını sonlandırarak şifreleme ve şifre çözme görevlerini arka uç sunucularından alabilir, bu da performanslarını artırır. Uçtan uca şifreleme gerekiyorsa, HAProxy, şifreli trafiği arkasındaki hizmetlere iletebilir.

Ters Proxy Sunma

HAProxy, müşteri isteklerinin tüm trafiğini arka ucundaki ilgili hizmetlere yönlendirmek için en iyi ters proxylerden biridir. Başlıkları değiştirme, URL'lerden yönlendirmeler hatta özel kullanıcı koşulları temelinde belirlenmiş kurallar karşısında belirli yönlendirmeleri destekler. Bu nedenle, HAProxy mikro hizmetlerin yanı sıra çok hizmetli mimari için de uygun adaylardan biri olarak kabul edilebilir.

Güvenlik Geliştirmesi

HAProxy, hız sınırlama, DDoS koruma ve ACL'ler gibi güvenlik özellikleriyle doludur. Bunların tamamı gelen trafiği filtrelemek için kullanılır, bu da arka uç sunucularınıza ulaşabilecek kötü niyetli isteklerin engellenmesi ve uygulamalarınızın stabil kalmasını sağlar.

Ölçeklenebilirlik

HAProxy yüksek derecede ölçeklenebilir. Kullanımına bağlı olarak gecikme olmadan ve ölçeklendirme yapılmadan milyonlarca eşzamanlı bağlantıyı kolayca destekleyebilir. Bu ortam, Kubernetes ve Docker Swarm gibi konteyner orkestrasyon ortamlarını konteynerleştirilmiş iş yükü ile birlikte dinamik ölçekleme ve hizmet keşif avantajları sunarak destekler.

Kayıt ve İzleme

HAProxy akışları anlamaya, sorun gidermeye ve performans analizi yapmaya yardımcı olan ayrıntılı bir kayda sahiptir. Sunucuların sağlık durumu, ağ trafik akışı ve kaynak kullanımı gibi gerçek zamanlı veri sunmaya ilişkin Prometheus'un izleme aracı, Grafana ve Datadog ile kesintisiz çalışır.

HAProxy, yapılandırma konusunda kolay esneklik destekler

HAProxy, çok esnek ve güçlü yapılandırma yeteneği sunar. Bunu kullanarak, kullanıcılar başlıklar ya da çerezler üzerine koşullu yönlendirme gibi oldukça karmaşık yönlendirme kuralları tanımlayabilir. URL yeniden yazma ve oturum kalıcılığı yanı sıra çok kiracılı oldabilir, bu da tek bir HAProxy örneğinin birden fazla alan adı ya da uygulamaya hizmet vermesini sağlar.

Docker İle HAProxy Kurulumu

Docker kullanarak HAProxy'yi kurmak ve çalıştırmak oldukça basit bir işlemdir. Aşağıda, birer birer adımlar verilmiştir.

Docker Kurulumu

Docker'ın sisteminize yüklü olduğundan emin olun. Kurulumun doğrulanması için aşağıdaki komutu çalıştırabilirsiniz:

docker --version
SHELL

Docker sistemde kurulu değilse, Docker bağlantısı buradan indirilebilir ve resmi web sitesinden yüklenebilir.

HAProxy Docker Resmini Çekin

Docker Hub'dan resmi HAProxy resmini çekin. Aşağıdaki komut, en son kararlı sürümü indirecektir:

docker pull haproxy:latest
SHELL

HAProxy Yapılandırma Dosyası Oluşturun

HAProxy, davranışını belirleyen bir yapılandırma dosyasına ihtiyaç duyar. Aşağıdaki içeriğe sahip bir dosya oluşturun: haproxy.cfg

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

Bu HAProxy yapılandırması şunları tanımlar:

  • Frontend: 80 portundan dinler ve trafiği arka uca yönlendirir.
  • Backend: app1 adresinde barındırılan sunucuya işaret eder.

HAProxy Docker Kapsayıcısını Çalıştırın

Yapılandırma dosyasını bağlayarak ve gerekli portları açarak HAProxy Docker kapsayıcısını çalıştırın:

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: Konteynerı bağımsız modda çalıştırır.
  • --name haproxy-container: Konteynera isim verir.
  • -p 80:80: Ana bilgisayardaki 80 numaralı portu konteynerdaki 80 numaralı porta eşler.
  • -v $(pwd)/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro: Yerel yapılandırma dosyasını konteyner'a monte eder.

HAProxy'ye Erişin

Bir web tarayıcısı açın ve trafik yönlendirmesini test etmek için http://localhost:80 veya sunucunuzun IP adresine gidin.

IronSecureDoc nedir?

IronSecureDoc, güçlü şifreleme, ileri seviye PDF düzenleme ve dijital imzalara dayanan bir belge yönetim ve güvenlik aracıdır. Belgelerin gizliliğini ve bütünlüğünü sağlarken şirketlere ve geliştiricilere kolay erişim sunar, böylece PDF belgelerinin işlenmesini doğrudan veya dolaylı bağımlılıklar olmadan kolaylaştırır.

Ek olarak, IronPDF, herhangi bir veri girişinden PDF oluşturmayı ve metin, resimler ve meta veri gibi parametreleri kullanarak içerik ekleyip düzenlemeyi kolaylaştıran bir PDF API'sidir. Bu, birkaç PDF'yi birleştirme, belgeleri bölme ve açıklamalar için yorumlar, vurgular veya filigranlar eklemeyi içeren özellikler içerir.

Tüm hassas bilgilerinizi ve verilerinizi kilitlemek için parola koruması, AES şifreleme ve sertifika tabanlı erişim kontrolleri sunar. Ayrıca, belgelerinizi doğrulamak ve reddedilebilirliği engellemek için dijital imzalama sağlar - finans, sağlık ve hukuk sektörlerinde çok önemli bir özelliktir. Denetim izi işlevselliği, belgeler üzerinde gerçekleştirilen tüm etkinliklerin izlenmesini ve uyumluluk ve hesap verebilirlik sağlar.

IronSecureDoc Kurun ve Çalıştırın

Komut İstemi'nde veya açık bir terminal penceresinde IronSecureDoc'un Docker imajını aşağıdaki komut ile çekin:

docker pull ironsoftwareofficial/ironsecuredoc
SHELL

IronSecureDoc konteynerini çalıştırın:

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

Bu komut, IronSecureDoc'un bir konteyner örneğini başlatır. Şimdi IronSecureDoc'a http://localhost:8080/swagger/index.html portundan erişebilirsiniz.

IronSecureDoc'u HAProxy ile entegre edin

Ön ve arka uç yapılandırmalarınızı tanımlamak için haproxy.cfg dosyası hazırlayın. Aşağıda basit bir yapılandırma örneği verilmiştir:

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

Bu HAProxy yapılandırması, birden fazla IronSecureDoc hizmeti için HTTP trafiğini yönetir. Küresel ham log çıktısını tanımlar ve detaylı loglama ile varsayılan HTTP modunu ayarlar. Ön taraf @@--CODE-29635--@@ portunda dinler ve istekleri yola göre yönlendirir. acl body_has_data veri varlığını kontrol eder ve gerekirse GET isteklerini POST'a dönüştürür. Arka taraf, yük dengelemesi için Round Robin algoritmasını kullanır ve sunucu kullanılabilirliğini sağlamak için sağlık kontrolleri ile istekleri uygun bir şekilde iletir.

cURL kullanarak basit bir şifreleme isteği göndermek için:

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

IronSecureDoc API'ye gönderilen bu istek, bir PDF belgesine kullanıcı şifresi şifrelemesi uygular ve çıktı dosyası güvenli bir şekilde gönderilir ve indirilir.

Sonuç

HAProxy'nin IronSecureDoc yazılımı ile entegrasyonu, belge güvenlik hizmetlerini yönetmek için optimize edilmiş trafik yönlendirmesi ve yük dengelemesi ile güvenilir ve ölçeklenebilir bir çözüm sağlar. HAProxy, birden fazla IronSecureDoc örneği arasında trafiği verimli bir şekilde dağıtır, sağlık kontrolleri ve özel yönlendirme kuralları ile yüksek kullanılabilirliği sağlar.

Bu yapılandırma, şifreleme ve sağlık izleme gibi karmaşık iş akışlarının esnek şekilde ele alınmasını sağlar. HAProxy ve IronSecureDoc, kapsayıcı tabanlı bir ortamda birbirlerini tamamlar, dağıtımın dayanıklılığını ve performansını artırır.

IronSecureDoc REST API'sini kullanarak, geliştiriciler güvenli belge işlemlerini ve etkili PDF yönetimini web, mobil ve kurumsal uygulamalarına sorunsuz bir şekilde entegre edebilirler. IronSecureDoc lisanslaması hakkında daha fazla bilgi için lisanslama sayfasını ziyaret edin. Iron Software'ın ürünleri hakkında daha fazla bilgi almak için kütüphane süiti sayfasını ziyaret edin.

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez