WordPress için Ters Proxy Nasıl Kurulur
Yayınlanan: 2023-01-16Bir WordPress yöneticisi olarak, kendinizi bir ters proxy sunucusu kurmanız gereken bir durumda bulabilirsiniz. Neyse ki, bir ters proxy sunucusu kurmak nispeten kolaydır ve kullanabileceğiniz birkaç farklı yazılım paketi vardır. Bu makale, NGINX kullanarak WordPress siteniz için bir ters proxy sunucusu kurmaya yönelik kısa bir genel bakış sağlar.
Ters Proxy Sunucuları Nedir ve Neden WordPress İçin Kullanılır?
Ters bir proxy sunucusu, bir istemci adına bir veya daha fazla sunucudan kaynakları alır. Bu kaynaklar daha sonra proxy sunucusundan kaynaklandığını söylemenin bir yolu olmadan istemciye teslim edilir.
Ters proxy'ler, kaynak sunucunun varlığını ve özelliklerini gizleyebildikleri için kullanışlıdır. Örneğin, bir ters proxy web uygulamalarını kötü amaçlı isteklerden veya büyük miktarda trafikten koruyarak ekstra bir güvenlik, performans ve güvenilirlik katmanı sağlayabilir.
Daha fazlasını öğrenmek istiyorsanız, ters proxy sunucuları hakkında daha fazla bilgi edinmenize yardımcı olacak birçok çevrimiçi kaynak vardır. Bir ters proxy sunucusu kurmanın gerekli olmasının birkaç yaygın nedeni vardır:
- İçerik önbelleğe alma ile iyileştirilmiş site performansı
Ters proxy için yaygın bir kullanım durumu, sık istenen WordPress içeriğini önbelleğe almaktır. Örneğin, bir web sunucusu grubu bir web sitesine hizmet veriyorsa, ters proxy web sitesinin statik içeriğini (HTML sayfaları, resimler ve CSS dosyaları gibi) tek bir sunucuda önbelleğe alabilir. Bir kullanıcı bir sayfa istediğinde içeriğin web sunucularından alınması gerekmediğinden bu, WordPress web sitesinin performansını artırabilir.
- Görüntü yeniden boyutlandırma gibi CPU yoğun görevleri boşaltma
Bir ters proxy sunucusu, bu görevler için istekleri bunları işlemek için daha donanımlı bir sunucuya ileterek, WordPress sunucusundan görüntü yeniden boyutlandırma gibi CPU açısından yoğun görevleri boşaltabilir. Bu, WordPress sunucusundaki kaynakları diğer görevler için serbest bırakarak WordPress sitesinin performansını artırmaya yardımcı olabilir.
- İstekleri filtreleyerek ve kötü amaçlı trafiği engelleyerek geliştirilmiş güvenlik
Ters bir proxy sunucusu, istekleri filtreleyerek ve kötü amaçlı trafiği engelleyerek WordPress güvenliğini artırabilir. Ters proxy sunucusu, istekleri filtreleyerek, kötü amaçlı etkinlikle ilişkili olduğu bilinen belirli IP adreslerine veya bölgelere erişimi engelleyebilir. Ters proxy sunucusu, kötü amaçlı trafiği engelleyerek, DDoS saldırılarının ve WordPress sitelerini hedef alan diğer saldırıların etkilerini azaltmaya yardımcı olabilir.
- WordPress'i farklı bir etki alanından veya alt etki alanından erişilebilir hale getirme
Yukarıda bahsedildiği gibi, ters proxy sunucusu, bir istemci adına bir veya daha fazla sunucudan kaynakları alır. Bu kaynaklar herhangi bir dosya türü olabilir, ancak en yaygın olarak web sayfalarıdır. Ters proxy sunucusu daha sonra istemciye bu kaynakları sağlar ve bunlar sunucunun kendisinden geliyormuş gibi görünür. Bu, istemciye içeriğe doğrudan yerel proxy sunucusundan eriştikleri yanılsamasını verirken, ters proxy sunucusunu WordPress içeriği isteklerini WordPress sunucusuna iletecek şekilde yapılandırarak yapılır.
En Popüler Ters Proxy Sunucuları
W3Techs'e göre, web sitelerinin yaklaşık %83'ü ters proxy hizmeti kullanmıyor. Ters proxy'ler genellikle güvenlik amacıyla varlıklarını gizlediğinden, W3Tech'ler gibi web sitesi izleme hizmetlerinin hangilerinin en yaygın olarak kullanıldığını belirlemesini zorlaştırdığından, geri kalan %17'lik kısım çoğunlukla CDN'lerdir. İşte en sık kullanılan üç ters proxy çözümü:
- NGINX
NGINX, gelişmiş performans, güvenlik, güvenilirlik ve ölçeklenebilirlik gibi birçok avantaj sunan bir web sunucusudur. Ücretsiz olarak edinebilir veya API tabanlı kurulum olanaklarına sahip kurumsal web siteleri için ticari sürüm olan NGINX Plus'ı kullanabilirsiniz. Oldukça az sayıda büyük işletme, diğerleri arasında NGINX – Cloudflare, Netflix, MaxCDN kullanıyor. NGINX'i ters proxy olarak yapılandırmak kolaydır ve gereksinimlerinizi karşılayacak şekilde kişiselleştirebilirsiniz.
- vernik
Varnish, yüksek trafikli web sitelerinin performansını iyileştirebilen bir tür açık kaynaklı yazılımdır. Ters proxy, yük dengeleyici, web uygulaması güvenlik duvarı ve uç kimlik doğrulama sunucusu olarak çalışır ve daha hızlı sayfa yükleme için Kenar Tarafı İçeriğini (ESI) destekler. NGINX veya Apache web sunucuları için ön uç olarak kullanabilir veya WordPress için ters proxy olarak ayarlayabilirsiniz.
- Apache Trafik Sunucusu
Performansı ve kapasitesiyle bilinen bir açık kaynak seçeneği olan Apache Traffic Server, ilk olarak Yahoo! Apache Vakfı'na vermeden önce ticari bir hizmet olarak. Şu anda sistemlerini geliştirmek için Akami, Apple, Comcast, LinkedIn ve Yahoo dahil olmak üzere birçok içerik ağı ve CDN tarafından kullanılıyor. Ek olarak, web sunucunuzda normal bir web sunucusu olarak çalışırken kullanıcılara hem statik hem de dinamik içerik sağlamasına izin veren bir ters proxy ayarlamak için Apache HTTP Sunucusu (Apache httpd) kullanılabilir.
- HAProxy
HAProxy, Linux sistemleri ve bulut tabanlı platformlar gibi birçok mevcut web sunucusu mimarisiyle çalışmak üzere tasarlanmış ücretsiz, açık kaynaklı bir ters proxy ve yük dengeleyicidir. Olay güdümlü bir G/Ç modeli kullanır ve istekleri NGINX'e benzer şekilde birden çok çalışan işlemi arasında dağıtabilir. HAProxy, yoğun yükler sırasında bile büyük trafik hacimlerini yönetme kapasitesiyle ünlüdür. Airbnb, Reddit ve Instagram gibi dünyanın en büyük sitelerinden bazıları tarafından kullanılır.
WordPress Siteleri İçin Ters Proxy Sunucusu Kullanım Durumları
Diğer ters proxy'leri de kullanabilmenize rağmen, NGINX en popüler seçimdir. WordPress siteleri için ters proxy ayarlamak için üç ana kullanım durumu şunlardır:
- Tek bir sunucuda ana ve proxy web sitesi
Aynı web sunucusunda barındırılan hem ana hem de proxy'li siteleriniz varsa, proxy'li sitenin ana siteden yüklenmesi için bir ters proxy ayarlayabilirsiniz. Bunu, ana sitedeki ilgili tüm ters proxy kurallarını yapılandırarak ve proxy'li siteyi proxy aracılığıyla yüklenecek şekilde ayarlayarak yapabilirsiniz. Ayrıca, bir SSL sertifikası kullanılıyorsa, yeniden yönlendirme döngülerini önlemek için wp-config.php dosyasında belirli kurallar bulunmalıdır. Siteyi yüklemek için kullanılanla aynı alt dizine sahip bir URL oluşturmanın imkansız olduğunu unutmayın.
- Sunucunuzda yalnızca proxy'li siteyi barındırma
Bir ters proxy oluşturmak için, ana web sitesinin sunucu yöneticisiyle iletişime geçmeli ve kuralları iki sunucuda yapılandırmalısınız. Ters proxy'ye işaret eden bir alan adı da eklenmelidir. Bu genellikle proxy'li siteye (örneğin alan_adiniz.com/blog) bağlı bir alt alan adı (örneğin blog.your_domain.com) aracılığıyla yapılır. Kurulum işlemini tamamlamak için sunucudan IP adresine ihtiyacınız olacağını unutmayın.
- Sunucunuzda barındırılan ana site
Yalnızca ana web sitesine ve barındırma sunucusuna erişebiliyorsanız, bir ters proxy kurmalı ve sayfanın harici bir ana bilgisayardan çekilmesi için ayarlarını yapmalısınız. Ters proxy üzerinden erişilecek olan proxy'li sitenin kurulması ve yapılandırılması ikincil sunucunun yöneticisinin sorumluluğunda olacaktır.
WordPress İçin Ters Proxy Kurma Adımları
WordPress için ters proxy ayarlamak, web sitenizin performansını artırmanın harika bir yoludur. Ayrıca, web sunucunuzu kötü amaçlı isteklerden korumaya ve kullanıcı deneyimini iyileştirmeye yardımcı olabilir. WordPress için ters proxy ayarlamak için atmanız gereken adımlar aşağıdadır.
- Bir ters proxy sunucusu kurun
İlk adım, bir ters proxy sunucusu kurmaktır. Ücretsiz ve açık kaynak olan NGINX web sunucusunu kullanmanızı öneririz. Apache gibi diğer popüler web sunucuları da kullanılabilir, ancak bu eğitim için NGINX kullandığınızı varsayacağız. Halihazırda çalışır durumda olan bir Apache web sunucusu (192.xx20) ile birlikte bir NGINX ters proxy (192.xx10) kullanmak istediğinizi varsayalım.
NGINX'i bir Ubuntu sunucusuna kurmak, tek bir komut çalıştırma meselesidir:
sudo apt-get güncellemesi
sudo apt-get nginx'i kur
NGINX yüklendikten sonra, sanal ana bilgisayarı devre dışı bırakmak için bu komutu kullanın:
sudo unlink /etc/nginx/sites-enabled/default
Şimdi bir ters proxy oluşturma zamanı. Bunu etc/nginx/sites-available dizininde reverse-proxy.conf adlı bir dosya oluşturarak yapabilirsiniz. Her şeyden önce, dizine gidin:
cd etc/nginx/sites-available
Dosyayı vi editörü aracılığıyla oluşturun:
vi ters proxy.conf
Dosyaya aşağıdaki satırları ekleyin:
sunucu {
dinle 80;
yer / {
proxy_pass http://192.xx20;
}
}
Gördüğümüz gibi, proxy geçişi, ters proxy üzerinden gelen isteklerin ana sunucunun uzak soketi olan 192.xx20:80'e iletilmesine izin veriyor. Başka bir deyişle, her iki sunucu da içeriği paylaşır. İşiniz bittiğinde, dosyayı kaydedin ve düzenleyiciden çıkın. Bilgileri diğer sunuculara iletmek için terminalde ngx_http_proxy_module kullanın. Son olarak, /sites-enabled/ dizinine şu komutla bağlanarak yönergeleri etkinleştirmeniz gerekir:
sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf
Geriye kalan tek şey, ters proxy'yi test etmektir. Performansını doğrulamak için bir yapılandırma testi çalıştırmanız ve NGINX'i yeniden başlatmanız gerekir. NGINX'in çalışıp çalışmadığını kontrol etmek için aşağıdaki komutu kullanın:
hizmet nginx yapılandırma testi
hizmet nginx yeniden başlatma
Testin başarısız olması, Apache'nin muhtemelen düzgün kurulmadığı anlamına gelir.
Ters Proxy Sunucusu Sınırlamaları
Ters proxy, içinden geçen tüm trafiği gözlemleyebildiği ve değiştirebildiği için büyük bir güvenlik riski oluşturabilir. HTTPS trafiği ters proxy aracılığıyla gönderilirse, SSL/TLS sertifikasının özel anahtarlarını gerektiren verilerin şifresinin çözülmesi ve yeniden şifrelenmesi gerekir. Bir bilgisayar korsanı bu ters proxy'ye erişim kazanırsa, parolaları günlüğe kaydetme ve web sitelerine kötü amaçlı kod ekleme potansiyeline sahip olur.
Ne siz ne de kullanıcılarınız ana sunucuya doğrudan erişemiyorsa, ters proxy tek bir hata noktası oluşturabilir. Örneğin, bir ters proxy birden çok etki alanına hizmet ediyorsa, herhangi bir kesinti tüm bu siteleri erişilemez hale getirecektir. Üçüncü taraf bir ters proxy kullanılıyorsa, siteyle ilgili önemli ayrıntıları onlarla paylaştığınızı unutmayın.
Çözüm
WordPress için bir ters proxy ayarlamak, web sitesi güvenliğine ve performansına fayda sağlayabilir. WordPress için ters proxy kurma adımları, sunucuya ve yapılandırmaya bağlı olarak değişir. Genel olarak, proxy sunucusunu yapılandırmayı, arka uç web sunucusunu kurmayı ve WordPress sitesini kurmayı içerir. Bir ters proxy sunucusu kurmak faydalı olsa da sınırlamaları vardır.