Linux için En İyi 10 Açık Kaynak Ters Proxy Sunucusu


Ters proxy sunucusu, istemciler ile arka uç/kaynak sunucular arasında dağıtılan bir tür proxy sunucusudur (örneğin, NGINX, gibi bir HTTP sunucusu) Apache vb. veya Nodejs, Python, Java, Ruby ile yazılmış uygulama sunucuları, PHP ve diğer birçok programlama dili.

Bir istemci isteğini alan, bunu bir veya daha fazla arka uç sunucuya ileten ve ardından sunucudan yanıtı alıp istemciye geri ileten, böylece içeriğin sanki içerikmiş gibi görünmesini sağlayan bir ağ geçidi veya aracı sunucudur. ters proxy sunucusunun kendisinden kaynaklanmıştır.

Genel olarak ters proxy sunucusu, özel bir ağdaki arka uç sunuculara erişimi kontrol etmek ve korumak için 'ön uç' olarak kullanılan, dahili bir proxy'dir: genellikle ağ güvenlik duvarının arkasına dağıtılır. .

Arka uç sunucuların güvenliğini artırmak için anonimlik elde etmelerine yardımcı olur. BT altyapısında ters proxy aynı zamanda uygulama güvenlik duvarı, yük dengeleyici, TLS sonlandırıcı, web hızlandırıcı (statik ve dinamik içeriği önbelleğe alarak) ve çok daha fazlası olarak da işlev görebilir.

Bu makalede, bir Linux sisteminde kullanabileceğiniz en iyi 10 açık kaynaklı ters proxy sunucusunu inceleyeceğiz.

1. HAProxy – (TCP/HTTP Yük Dengeleyici)

HAProxy (HAProxy, High Availability Proxy anlamına gelir), TCP için ücretsiz, açık kaynaklı, çok hızlı, güvenilir ve birinci sınıf bir yük dengeleyici ve proxy yazılımıdır ve yüksek kullanılabilirlik için oluşturulmuş HTTP tabanlı uygulamalar.

HAProxy bir HTTP ters proxy'si, bir TCP proxy'si ve normalleştiricisi, bir SSL/TLS sonlandırıcı/başlatıcı/boşaltıcısı, bir önbellek proxy'si, bir HTTP sıkıştırma boşaltıcısı, bir trafik düzenleyicisi, içerik tabanlı bir anahtar, bir FastCGI ağ geçidi ve daha fazlası. Aynı zamanda DDoS ve hizmetin kötüye kullanılmasına karşı da bir korumadır.

Çok hızlı bir G/Ç katmanını, on binlerce eşzamanlı bağlantıyla kolayca başa çıkabilmesini sağlayan öncelik tabanlı, çok iş parçacıklı bir zamanlayıcıyla birleştiren, olay odaklı, engellemeyen bir motor tarafından desteklenmektedir.

Özellikle HAProxy, istemcinin bağlantı bilgilerini arka uç veya kaynak sunuculara aktarmak için PROXY protokolünü kullanır, böylece bir uygulama ilgili tüm bilgileri alır.

HAProxy'nin temel özelliklerinden bazıları arasında proxy oluşturma, SSL desteği, hem sunucu durumlarını hem de durumlarını izleme, yüksek kullanılabilirlik, yük dengeleme, yapışkanlık (çeşitli olaylarda bile bir ziyaretçiyi aynı sunucuda tutma), içerik değiştirme, HTTP yeniden yazma ve yeniden yönlendirme, sunucu koruma, günlük kaydı, istatistikler ve çok daha fazlası.

2. NGINX – (HTTP ve Ters Proxy Web Sunucusu)

NGINX ücretsiz, açık kaynaklı, yüksek performanslı ve çok popüler bir HTTP sunucusu ve ters proxy'dir. Ayrıca IMAP/POP3 proxy sunucusu olarak da işlev görür. NGINX, yüksek performansı, kararlılığı, zengin özellikleri, basit ve esnek yapılandırması ve düşük kaynak tüketimi (özellikle küçük bellek alanı) ile tanınır.

Tıpkı HAProxy gibi, NGINX de olay odaklı bir mimariye sahip olduğundan, HAProxy'nin PROXY 'ini kullandığından on binlerce eşzamanlı bağlantıyla uğraşmada sorun yaşamaz. protokol.

NGINX, isteklerin FastCGI, uwsgi, SCGI ve Memcached gibi HTTP dışındaki protokoller üzerinden başka bir sunucuya iletilmesine izin veren ngx_http_proxy_module modülünü kullanarak önbelleğe alma ile hızlandırılmış ters proxy oluşturmayı destekler.

Daha da önemlisi, büyük ölçekli dağıtılmış bilgi işlem sistemlerinin hayati yönleri olan yük dengelemeyi ve hata toleransını destekler. ngx_http_upstream_module modülü, istemcilerden gelen istekleri dağıtmak için arka uç sunucu gruplarının tanımlanmasına olanak tanır.

Bu, uygulamalarınızı yanıt süresi ve verim açısından daha sağlam, kullanılabilir ve güvenilir, üst düzeyde ölçeklenebilir hale getirir. Ayrıca güvenlik açısından SSL/TLS sonlandırma ve diğer birçok güvenlik özelliğini destekler.

Nginx web sunucusuyla ilgili okumak isteyebileceğiniz faydalı makaleler:

3. Vernik – (Ters Önbelleğe Alma Proxy'si)

Varnish HTTP Cache (veya Varnish Cache veya basitçe Varnish) ücretsiz, açık kaynaklı, yüksek performanslı ve çok popüler bir önbelleğe alma ters proxy yazılımıdır ve daha çok web olarak bilinir sunucu tarafı önbelleğe almayı kullanarak HTTP performansını artırmak için tasarlanmış uygulama hızlandırıcı.

Bir istemci ile bir HTTP web sunucusu veya uygulama sunucusu arasında konuşlandırılır; Bir istemci bir web sunucusundan her bilgi veya kaynak istediğinde, Varnish bilginin bir kopyasını saklar, böylece istemci bir dahaki sefere aynı bilgiyi istediğinde Varnish bunu web sunucusuna bir istek göndermeden sunacak ve böylece sunucudaki yükü azaltacaktır. sunucu ve dolayısıyla web içeriği dağıtımını hızlandırır.

Varnish, Varnish Yapılandırma Dili (VLC) olarak bilinen esnek bir yapılandırma dili kullanır; bu dil, diğer şeylerin yanı sıra sistem yöneticilerinin gelen isteklerin nasıl olması gerektiğini yapılandırmasına olanak tanır. işlenecek, hangi içeriğin sunulması gerektiği, nereden ve talep veya yanıtın nasıl değiştirilmesi gerektiği ve çok daha fazlası.

Cila aynı zamanda genişletilebilir; Vernik Modülleri (VMOD'lar) kullanılarak genişletilebilir ve kullanıcılar kendi özel modüllerini yazabilir veya topluluk tarafından sağlanan modülleri kullanabilir.

Vernish'in ana sınırlaması, SSL/TLS desteğinin olmamasıdır. HTTPS'yi etkinleştirmenin tek yolu, HAProxy veya NGINX gibi bir SSL/TLS sonlandırıcı veya boşaltıcıyı dağıtmaktır. önünde.

4. Træfɪk – (Bulut Yerel Uygulama Proxy'si)

Træfɪk (Trafik olarak telaffuz edilir), birden fazla yük dengeleme algoritmasını destekleyen mikro hizmetlerin dağıtımına yönelik ücretsiz, açık kaynaklı, modern ve hızlı bir HTTP ters proxy ve yük dengeleyicidir.

Kubernetes, Docker, Etcd, Rest API, Mesos/Marathon, Swarm ve Zookeper gibi çeşitli sağlayıcılarla (veya hizmet keşif mekanizmaları veya düzenleme araçlarıyla) arayüz oluşturabilir.

Sevilen özelliği, yapılandırmasını otomatik ve dinamik olarak yönetme ve böylece hizmetleriniz için doğru yapılandırmayı keşfetme yeteneğidir. Bunu, ilgili bilgileri bulmak için altyapınızı tarayarak ve hangi hizmetin dış dünyadan hangi talebe hizmet ettiğini keşfederek yapar. Sağlayıcılar Træfɪk'e uygulamalarınızın veya mikro hizmetlerinizin nerede bulunduğunu söyler.

Træfɪk'in diğer özellikleri WebSockets, HTTP/2 ve GRPC, çalışırken yeniden yükleme (yapılandırmasını yeniden başlatmadan sürekli olarak günceller), Let's Encrypt sertifikaları kullanan HTTPS (joker karakter sertifikası desteği) için desteklenir ve bir REST API'yi kullanıma sunar. Ayrıca erişim günlüklerini tutar ve ölçümler sağlar (Rest, Prometheus, Datadog, Statsd, InfluxDB).

Ayrıca Træfɪk, olayları takip etmek için kullanılan basit bir HTML tabanlı web kullanıcı arayüzüyle birlikte gelir. Ayrıca devre kesicileri, yeniden deneme isteklerini, hız sınırlamayı ve temel kimlik doğrulamayı da destekler.

5. Apache Trafik Sunucusu – (Geri ve İleri Proxy Sunucusu)

Eskiden Yahoo'ya ait olan ve daha sonra Apache Foundation'a devredilen ticari bir ürün olan Apache Traffic Server, ücretsiz, açık kaynaklı ve hızlı önbelleğe alma ileri ve geri proxy'sidir. sunucu.

Trafik Sunucusu aynı zamanda yük dengeleyici olarak da çalışır ve esnek önbellek hiyerarşilerine katılabilir. Yahoo'da günde 400 TB'ın üzerinde trafiği yönettiği biliniyor.

İçerik isteklerini canlı tutma, filtreleme veya anonimleştirme özelliklerine sahiptir ve kullanıcıların HTTP başlıklarını değiştirmek, ESI isteklerini işlemek veya yeni önbellek algoritmaları tasarlamak için özel eklentiler oluşturmasına olanak tanıyan bir API aracılığıyla genişletilebilir.

6. Squid – (HTTP Proxy'yi Önbelleğe Alma ve İletme)

Squid, HTTP, HTTPS, FTP ve daha fazlası gibi çeşitli protokolleri destekleyen ücretsiz, açık kaynaklı ve iyi bilinen bir proxy sunucusu ve Web önbellek arka plan programıdır. Giden veriler için gelen istekleri önbelleğe alan bir ters proxy (httpd hızlandırıcı) moduna sahiptir.

Zengin trafik optimizasyon seçeneklerini, erişim kontrolünü, yetkilendirmeyi, günlük kaydı olanaklarını ve çok daha fazlasını destekler.

7. Pound – (Ters Proxy ve Yük Dengeleyici)

Pound, web sunucuları için başka bir ücretsiz ve açık kaynaklı, hafif ters proxy ve yük dengeleyici ve ön uçtur. Aynı zamanda bir SSL sonlandırıcıdır (istemcilerden gelen HTTPS isteklerinin şifresini çözer ve bunları arka uç sunuculara düz HTTP olarak gönderir).

Bir HTTP/HTTPS temizleyici (doğruluk isteklerini doğrulayan ve yalnızca iyi biçimlendirilmiş olanları kabul eden) ve bir yük devretme sunucusu.

8. Apache – (HTTP Web Sunucusu)

Dünya üzerindeki en popüler web sunucusu olan Apache HTTP sunucusu (HTTPD olarak da bilinir) aynı zamanda ters proxy görevi görecek şekilde dağıtılabilir ve yapılandırılabilir.

Apache, istemci isteklerini arka uç sunuculara yönlendirme, güvenliği artırma, yük dengeleme ve web uygulaması performansını optimize etme konusunda uzmandır. Apache, bir aracı olarak hareket ederek, gelen trafiği birden fazla sunucu örneğine verimli bir şekilde dağıtarak yüksek kullanılabilirlik ve kusursuz kullanıcı deneyimleri sağlayabilir.

Sağlam ve özelleştirilebilir yapılandırma seçenekleri, ister içerik önbelleğe alma ister uygulama teslimi olsun, ters proxy ihtiyaçları için güvenilir bir çözüm arayan kuruluşlar için onu en iyi seçim haline getirir.

9. Skipper – (HTTP Yönlendirici ve Ters Proxy)

Skipper, Kubernetes Ingress gibi kullanım durumları da dahil olmak üzere hizmet bileşimi için ücretsiz ve açık kaynaklı bir HTTP yönlendiricisi ve ters proxy'sidir.

800.000 rotayı aşan, karmaşık arama koşulları sunan ve filtrelerle istek akışını geliştirmeye yönelik esneklik sunan, önemli sayıda dinamik olarak yapılandırılmış HTTP rota tanımını yönetmek üzere tasarlanmıştır.

Olduğu gibi kolayca dağıtılabilir veya özel arama, filtre mantığı ve yapılandırma kaynakları dahil edilerek genişletilebilir.

10 Caddy 2 – Otomatik HTTPS ile Hızlı Sunucu

Caddy 2, basitliği ve çok yönlülüğü ile tanınan, kullanıcı dostu bir arayüz ve varsayılan olarak otomatik HTTPS sunan, onu hem yeni gelenler hem de deneyimli kullanıcılar için erişilebilir bir seçim haline getiren açık kaynaklı bir web sunucusu ve ters proxy'dir.

Caddy 2 web barındırma, HTTP/2, yük dengeleme ve proxy işlemlerini zahmetsizce yönetecek ve web sitesi performansını ve güvenliğini artıracak şekilde tasarlanmıştır. Açık kaynak yapısı topluluk katkılarını teşvik eder ve web barındırma ve sunucu yönetimi dünyasında kullanım kolaylığı ve modern özellikleri nedeniyle popülerlik kazanmıştır.

Çözüm

Bu kılavuzda sizin için sahip olduğumuz tek şey bu. Bu listedeki her araç hakkında daha fazla bilgi için ilgili web sitelerine bakın. Aşağıdaki geri bildirim formu aracılığıyla düşüncelerinizi bizimle paylaşmayı unutmayın.