12 May 2017
Apache Web Server Reverse Proxy (Ters Vekil) Yapılandırması
  • 713 Okuma
  • 0 Yorum
  • 1 Beğeni

Apache Web Server Reverse Proxy (Ters Vekil) Yapılandırması

Apache Web Server'ın modüllerinden olan mod_proxy modulü kullanılarak, Apache Web Server'ı Reverse Proxy olarak çalıştırabiliriz. Bu makalemde Apache Web Server'ın Reverse Proxy olarak nasıl yapılandırıldığından, reverse proxy'nin avantajları ve dezavantajlarını anlatacağım. Bu konunun daha iyi anlaşılması için  temel olması için "Apache Server Üzerinde Birden Fazla Site Yayınlama" adlı makaleme buradan erişebilirsiniz.


Apache Web Server proxy olarak kullanılabildiği gibi reverse proxy olarak da kullanılabilmektedir. Bunların arasındaki temel fark, proxy olarak kullanıldığında erişilmek istenilen web sitesi için sizi yönlendirmesi, reverse proxy olarak çalıştığında ise istenilen web sitesine erişip istenilen sayfayı alıp size sunmasıdır. Yani bir web sitesine proxy kullanarak erişmek istediğinizde, apache sizi o siteye yönlendirir. Fakat reverse proxy kullanarak erişmeye çalıştığınızda, apache web server sizin için web sitesine erişir ve kendi üzerinden sizin kullanımınıza sunar. Reverse proxy kullanımında size sadece reverse proxy sunucuya bağlanırsınız, gerisini apache web server halleder.

Reverse proxy kullanmanın çeşitli avanjtarı vardır. Bu avantajlar;

  1. Tüm istekler reverse proxy sunucusuna geleceğinden yük dengeleme (Load Balancing) işlemini burada yapabilirsiniz.
  2. Reverse proxy ile tüm istekler reverse proxy üzerinden karşılanacağından web sunucularınızı dış dünyadan yalıtmış olursunuz ve bu şekilde daha güvenli bir sisteminiz olur.
  3. Reverse proxy üzerinden cache'leme yaparak, kaynakların daha efektif kullanılmasını sağlayabilirsiniz.
  4. Reverse proxy üzerinde SSL'i aktif yaparak, kullanıcıların reverse proxy ile SSL üzerinden iletişim kurmasını ve reverse proxy'nin ise web sunucuları HTTP üzerinden iletişim kurmasını sağlayabilirsiniz.

Reverse Proxy'nin birçok avantajı olduğu gibi dezavanjları bulunmaktadır. Bu dezavantajlar;

  1. Web sunucularına erişim reverse proxy üzerinden sağlanacağından, reverse proxy sunucunun normal web sunucularından daha fazla CPU ve RAM kaynağına ihtiyaç duyabilir.
  2. Reverse proxy üzerinde yaşanan bir sorun tüm web sunucularını etkiler.
  3. Dinamik web site içeriklerinin yönetiminde sorunlar yaşabilirsiniz.


Reverse proxy'nin ne olduğu, avantaj ve dezavanjtalarına değindikten sonra artık Apache Web Server üzerinde mod_proxy modülü ile reverse proxy yapılandırmasına geçebiliriz. Bunun için öncelikle aşağıdaki komutlar gerekli olan paketleri kuruyoruz.


sudo apt-get install libapache2-mod-proxy-html libxml2-dev


Kurulumdan sonra ihtiyacımız olan, mod_proxy,mod_http, mod_headers ve mod_html modüllerini aktif hale getiriyoruz. Bunun için aşağıdaki komutları kullanabilirsiniz.


a2enmod proxy
a2enmod proxy_http
a2enmod rewrite
a2enmod headers


İhtiyacımız olan modülleri aktif hale getirdikten sonra, "/etc/apache2/sites-available/" klasörünün altında reverse proxy yapılandırması için kayıt oluşturabiliriz. Bunun için aşağıdaki komutu kullabilirsiniz.


touch /etc/apache2/sites-available/001-webdeyaz.com.conf


Yapılandırma dosyamızı oluşturduktan sonra içeriğini aşağıdaki şekilde dolduruyoruz.


<VirtualHost *:80>

ServerName www
.webdeyaz.com
Serveralias webdeyaz.com

    CustomLog ${APACHE_LOG_DIR}/access.log combined
ErrorLog ${APACHE_LOG_DIR}/error.log ProxyPass / http://192.168.10.10:8080/ ProxyPassReverse / http://192.168.10.10:8080/

</VirtualHost>


Bu şekilde VirtualHost tanımlamasıyla, sucunun http/80 portuna gelen www.webdeyaz.com ya da webdeyaz.com isteklerini 192.168.10.10 sunucusunun 8080 portuna erişerek istenen içeriği kullanıcı adına isteyerek kullanıcıya sunun bir reverse proxy tanımlaması yapmış olduk. Bu şekilde www.webdeyaz.com sitesine erişmek isteyen tüm kullanıcılar gerçekte reverse proxy'a bağlantı kuruyorlar ve geri kalan tüm işlemleri reverse proxy hallediyor.


Web sitesi yapılandırmasını reverse proxy çalışacak şekilde yapılandırdıktan sonra, bu siteyi aktif yapmak için aşağıdaki komutları kullanabilirsiniz.


a2ensite 001-webdeyaz.com.conf


Yapılandırmayı tamamladıktan sonra apache servisini yeniden başlatıyoruz. Bunun için aşağıdaki komutu kullanabilirsiniz.


/etc/init.d/apache2 restart


Sonuç

Apache web server'ın birçok özelliğinden biri de mod_proxy modülüdür. Bu modül sayesinde Apache Web Server reverse proxy olarak çalışabilmektedir. Bu makala de reverse proxy kullanımının avantajlarına ve dezavantajlarına ve Apache Web Server üzerine nasıl yapılandırıldığını anlattım. Aklınıza takılan soruları yorum yoluyla sorabilirsiniz.

Umarım faydalı olur. İyi çalışmalar.



Makaleyi faydalı buldunuz mu ?

Yazar


Legend Engineer

Legend Engineer

Mühendis (Bilgisayar)

Bilgisayar Mühendisliği mezunuyum. Bilgisayar alanında edindiğim bilgileri bu blog üzerinde paylaşıyorum. Beni takipte kalın.

Yorumlar


İlk yorum yapan sen ol

İlginizi Çekebilir

Makale Hakkındaki Düşünçelerinizi Paylaşın