← Back to blog

mod_proxy Uzantısı Üzerine Bir Kılavuz: Apache'yi Ters Proxy Olarak Kullanma

Category
mod_proxy Uzantısı Üzerine Bir Kılavuz: Apache'yi Ters Proxy Olarak Kullanma

Giriş

Üçüncü taraf uzantılar son derece yararlı eklentilerdir. Bunlar, Apache HTTP gibi bir sunucuyu yapılandırma ve onunla çalışma deneyiminizi çok daha basit ve kolaylaştırıcı hale getirir. İhtiyaç anında, ters proxy çalıştırmak için Apache'deki bu modüllerden bazılarını bile kullanabilirsiniz. Sunucu kurulumunuzdan bir katmanı kaldırabilir veya bağlantıları yönlendirmek için bir modül kullanabilirsiniz.

Bu kılavuzda, Apache'yi ve mod_proxy gibi sunucu platformuyla ilişkili çeşitli modülleri ele alacağız. Ayrıca bunu nasıl bir ters proxy olarak kullanarak bağlantıları arka uç uygulama sunucularınıza yönlendirebileceğinizi göreceğiz.

Apache Nedir?

Apache, HTTP sunucusu olarak web ile ilgili amaçlar için çok yaygın olarak kullanılır. Ancak bunu çeşitli nedenlerle ve birkaç platformda kullanabilirsiniz. Adım adım eğitimimizi takip ederek Apache web sunucunuzu Ubuntu'ya kurabilirsiniz. Ayrıca, Apache sunucunuzu Let’s Encrypt ile nasıl güvenli hale getireceğinizi öğrenmek için bu eğitimi takip edin. Ayrıca Ubuntu 20.04 üzerinde Apache sanal ana bilgisayarlarının (virtual hosts) nasıl kurulacağına.

da göz atabilirsiniz. Harici modüllerin yardımıyla Apache'nin işlevlerini ve uygulamasını daha da keşfedebilirsiniz. Bunlar, bağlantılar ve yapılandırmalarla ilgili çeşitli görevleri gerçekleştirmek için kullanabileceğiniz üçüncü taraf modüllerdir. Örneğin, kural tabanlı URL yeniden yazma işlemi gerçekleştirmek için mod_rewrite modülünü kullanabilirsiniz. Bu modüllerden bir diğeri de mod_proxy'dir. İkinci modül, toplulukta büyük ölçüde yetersiz kullanılmaktadır. Bunun başlıca nedeni, birçok kişinin işlevselliğinin ve uygulamalarının kapsamından haberdar olmamasıdır. Mod_proxy, adından da anlaşılacağı gibi, arka uç sunucuları için bir ağ geçidi veya proxy kurmanıza yardımcı olabilir.

Gelin, mod_proxy modülünü ayrıntılı olarak ve onu nasıl bir ters proxy olarak kullanabileceğinizi inceleyelim.

Mod_proxy: Apache'yi Ters Proxy Olarak Kullanma

Muhtemelen tahmin edebileceğiniz gibi, mod_proxy bir modüldür. Apache'de çeşitli bağlantılar oluşturmak ve yönlendirmek için kullanabileceğiniz bir modüldür. Ayrıca sisteminizdeki diğer tüm modüller gibi etkinleştirebilir ve yapılandırabilirsiniz. Mod_proxy'nin benzersiz yanı, yalnızca tek bir modül olmamasıdır. Aslında, aşağıda bulacağınız farklı modüllerden oluşan bir koleksiyonu kapsar. Bunların her birinin gerçekleştireceği kendi işlevi vardır. Bu şekilde mod_proxy, işlevsellikte size büyük bir çeşitlilik sunar.

Aşağıdaki mod_proxy modüllerine bir göz atın:

mod_proxy

Bu ana proxy modülüdür. Apache'de, bu modülü çeşitli bağlantıları yapılandırmak ve yönetmek için kullanabilirsiniz. Ayrıca bağlantıları yönlendirmenize de yardımcı olabilir.

mod_proxy_http

Adından da anlaşılacağı gibi, bu modül HTTP ve HTTPS protokolleriyle ilgilenir. Bu protokollerin proxy özelliklerini uygulamak için bu modülü kullanabilirsiniz.

mod_proxy_ftp

Mod_proxy_ftp, FTP protokolüyle çalışırken işe yarar.

mod_proxy_connect

Bu modül, SSL tünelleme gerçekleştirirken yardımcı olur.

mod_proxy_ajp

AJP protokolüyle çalışırken mod_proxy_ajp kullanabilirsiniz.

mod_proxy_wstunnel

Bu, WS ve WSS gibi web soketleriyle çalışırken kullanışlıdır.

mod_proxy_balancer

Yük dengeleme ve kümeleme özelliklerine erişmek istiyorsanız bu modülü kullanabilirsiniz.

mod_cache

mod_cache modülü, beklendiği gibi, önbelleğe alma amaçları için yararlıdır.

mod_headers

HTTP protokolünü kullanarak oluşturduğunuz üstbilgileri (headers) yönetmek için bu modülü kullanabilirsiniz.

mod_deflate

Bu modül sıkıştırma amaçları için kullanılır.

Bu modüller hakkında daha da fazla ayrıntı öğrenmek isterseniz, resmi Apache web sitesini ziyaret edebilirsiniz. Resmi belgeler size mod_proxy ve Apache'nin kendisi hakkında da daha fazla bilgi verir.

Apache ve mod_proxy Nasıl Kurulur?

Sisteminize Apache ve mod_proxy kurmak için takip etmesi kolay bazı adımlar aşağıda verilmiştir:

  1. Sunucuyu Hazırlayın

Öncelikle bulut sunucunuzun hazırlandığından emin olmanız gerekir. Bunu yapmak için işletim sisteminizi ve ilgili yazılımları en son sürümlere güncellemeniz gerekir.

Uygulamalarınızı yükseltmek için aşağıdaki komutları kullanın:

  1. Temel Paketi Kurun

Sunucunuzu hazırladıktan sonra, onu temel araçlarla donatmanız gerekir. Bu amaçla, build-essential paketini kurmanız gerekir. Bu paket, kaynak koddan kurulum yapmak için ihtiyacınız olan tüm temel araçları içerir. Bu komutla kurabilirsiniz:

  1. Modülleri ve Bağımlılıkları Alın

Son olarak, modülleri ve bağımlılıkları kurmanız gerekir. Bunu aşağıdaki komutu çalıştırarak yapabilirsiniz:

Modülleri Etkinleştirme: Apache, Proxy Bağlantılarıyla Nasıl Yapılandırılır?

Apache'yi yapılandırmaya başlamadan önce bile modüllerinizi etkinleştirmeniz gerekir. Bu modüller, gerekli yapılandırmaları yapmanıza ve çeşitli görevleri gerçekleştirmenize yardımcı olacaktır.

Başlamak için, sisteminizde halihazırda hangi modüllerin çalıştığını kontrol etmeniz gerekir. Sadece bu da değil, aynı zamanda tüm modüllerin düzgün bir şekilde kurulduğundan ve etkinleştirilebildiğinden emin olmanız gerekir. Bu komutu çalıştırmak, Apache sunucunuzdaki tüm kullanılabilir modülleri gösterecektir:

a2enmod output

Görebileceğiniz gibi, yanıt size mevcut tüm modülleri ayrıntılı bir liste halinde gösterir. Bu listeye göz atın ve hangi modülleri etkinleştirmek istediğinizi belirleyin. Apache'ye bildirmek için aşağıdaki komutu kullanabilir ve örneklerin yerine istediğiniz modülleri girebilirsiniz:

Öte yandan, her bir modülü ayrı ayrı da etkinleştirebilirsiniz. Bunu yapmak için aşağıdaki komutları kullanırsınız:

Bazı modüller muhtemelen sunucunuzda varsayılan olarak etkinleştirilecektir. Bunların etkinleştirildiğini nasıl onaylayabileceğinizi merak edebilirsiniz. İstediğiniz modülün aktif olduğundan emin olmak için onu iki kez etkinleştirmeyi deneyebilirsiniz. Bu, modülün etkinleştirildiğini garanti edecektir.

  1. Varsayılan Yapılandırma Ayarlarını Değiştirin

İlk olarak, varsayılan yapılandırma ayarlarını değiştirmeniz gerekir. Bunu yapmak için, 000-default.conf olan varsayılan yapılandırma dosyasına erişmelisiniz. Bu dosya /etc/apache2/sites-enabled içinde yer alır. Proxy işlevini kazanması için dosyayı bu şekilde değiştirmemiz gerekir.

Varsayılan sanal ana bilgisayarı düzenlemek için nano metin düzenleyicisini açarak başlayacaksınız. Bunu şu komutu çalıştırarak yapabilirsiniz:

mod_virtual host ve mod_proxy'yi toplu olarak proxy sanal ana bilgisayarı olarak adlandıracağız. Şimdi, aşağıdaki yapılandırma ayarlarını uygulayabilirsiniz. Sisteminiz ve gereksinimleriniz için uygun gördüğünüz şekilde gerekli değişiklikleri yapabilirsiniz:

Ctrl + X tuşlarına basıp Y ile onayladıktan sonra kaydedip çıkabilirsiniz.

  1. Yük Dengeleme Özelliğini Etkinleştirin

Yük dengeleme proxy'nizdeki bağlantıları etkili bir şekilde dağıtmanıza yardımcı olur. Bu, tek bir sunucu yerine birden fazla arka uç uygulama sunucusu kullandığınız durumlar için çok kullanışlı bir fikirdir. Yük dengeleme özelliği bağlantıyı veya 'yükü' dağıtacaktır.

Bu özelliği etkinleştirmek için, bu kılavuzda daha önce belirtilen adımları tekrarlamanız gerekir. Ancak, sanal ana bilgisayarı kurarken aşağıdaki yapılandırma ayarlarını kullanmanız gerekir:

  1. Ters Proxy Desteğini Etkinleştir

Eğer SSL bağlantıları ve sertifikalarıyla çalışıyorsanız, sanal ana makinenizin ters proxy'nizi desteklemesini sağlamanız gerekir. Bu ikincil sanal ana makinenin aşağıdaki ayarlara sahip olması gerekir. Önceki adımlardaki talimatları uygulamanız gerekecektir. Tek yapmanız gereken yapılandırma seçeneklerini aşağıda belirtilenlerle değiştirmektir:

Yukarıdaki yapılandırmanın çalışması için SSL modülünü de etkinleştirmeniz gerekir:

  1. Apache'yi Yeniden Başlatın

Tüm yapılandırmalar tamamlandı. Son olarak, değişiklikleri uygulamak için Apache sunucunuzu yeniden başlatabilirsiniz. Aşağıdaki komutu çalıştırarak Apache'yi yeniden başlatabilirsiniz:

Sonuç

İşte bu kadar! Apache sunucunuzda başarıyla bir ters proxy geçidi kurdunuz. Artık Apache, gelen bağlantıları arka uçtaki uygulama sunucularınıza yönlendirecektir.

Bunun en güzel yanı, yapılandırma işleminin çok az çaba gerektirmesi ve oldukça basit olmasıdır. Artık oraya nasıl ulaşacağınızın tam adımlarını bildiğinize göre, Apache'de ters proxy kurarken hiç zorluk yaşamamalısınız.

Keyifli Çalışmalar!

Akshay Nagpal

Yazar · CloudSigma

Yorumlar

Henüz yorum yapılmamış. İlk siz olun.