Çevrildiği diller: Castellano Deutsch English Français Italiano Nederlands Türkce |
Atif Ghaffar tarafından Yazar hakkında:
İsviçre'de web sorumlusu ve unix yöneticisi olarak çalışıyorum .
Tutkularım arasında Linux, unix, Perl, Apache ve GPL yazılımları var.
Benim hakkımda daha çok bilgi İçerik: |
Özet:
Ben, evde ip maskelemesini ve firewall'unu kullanarak Linux'le yüklenen küçük LAN(yerel network alanı) kullanıyorum. Network'ümdeki bütün makinelerin internet üzerindeki bütün bilgileri kabul etmesine rağmen,sadece bu makine internetten ip maskelemesini uygun görüyor. En son Apache makalemde, ip adreslerinin nasıl dönüştürüleceğini gösterdim.Bu makalemde firewall'deki veya güvenlik anlaşmalarındaki kuralları değiştirmeden internet üzerinde firewall'un arkasında web sunucusunun nasıl oluşturulacağını göstereceğim. Ayrıca, bu makalede bu hedefi başarabilmek için Apache's ProxyPass bildiriminin nasıl kullanılacağını göreceğiz. Bu makalenin hedef kitlesi Sistem Yöneticileri veya evde ,iş yerinde orta büyüklükte LAN için küçüğünü üreten kişilerdir.
Benim LAN'ımda uzun bir süredir,router(maskeleme ve firewall'ü yapan makine)
web sunucusu,mail sunucusu,ftp sunucusu,dns sunucusu olarak da görev
alıyordu.
Bir gün,firewall'ün arkasındaki makineden web içeriğini sunma ihtiyacı
duydum.
Ayrıca bazı dökümanları (video sunucusu,görüntü akışı(streaming images)
sunucuları) network'un arkasındaki SGI IRIX kutusundan sunmak istedim.
Bu makinenin internete tüm girişleri vardı,fakat internet kullanıcıları
makineye bağlanamıyorlardı.
IRIX makinesini network üzerine koymaya hiç niyetim yoktu ,ama insanların web
sunucusuna bağlanabilmeleri için bu gerekiyordu.
Aynı probleme, işte benzer network ve Firewall'le karşı koyuyordum.
Her seferinde birileri internetten gösteri amaçlı uygun web sunucusu gelişmelerini
istedi,firewall'deki kuralların değişmeye ihtiyacı vardı ve siz makineye
network'ün güvenlik anlaşmasını ve dış ip adreslerini vermek zorundaydınız.
Birçok çözümü düşündükten sonra, Apache ve onun ProxyPass bildirimiyle bir
tane denedim.
ProxyPass, Apache sunucunuzla modül olarak derlenmek ve yüklenmek için
mod_proxy'ye ihtiyaç duyar.
Şimdi ProxyPass'in Apache manuellerinden alınmış ifadeleri
Bu bildirim uzak sunucuların yerel sunucunun alanına girmesine izin verir; yerel sunucu göreneksel anlamda proxy olarak görev almaz;fakat uzak sunucuların aynası gibi gözükür. <path> yerel asıl path'in ismi; url> uzak sunucular için bölümsel URL .
Farzedin ki yerel sunucunun adresi var http://wibble.org/; ve
ProxyPass /mirror/foo/ http://foo.com/yerel isteğe sebep olacak <http://wibble.org/mirror/foo/bar>için <http://foo.com/bar> de proxy isteğine dönüşüm.
İç vidyo sunucusunu dış web sunucusuna dönüşrürme(mapping).
İç network: hometranet.home 192.168.1.0/255.255.255.0
( internet, intranet, extranet mevzularında ,ben ev network'ünde
hometranet kullanıyorum.)
Dış network: developer.ch 193.192.254.50
Vidyo sunucuları (iç) cam.hometranet.home da çalışır
vidyo görüntülerinin url'den sunumuyla
http://cam.hometranet.home:5555/cams/sony/stream
ve
hala burada http://cam.hometranet.home:5555/cams/sony/image kameradan
görüntülenir
Burayı ziyaret ettiğim zaman
http://mozilla.developer.ch/stream urls'den bütün sonuçları görmek
istedim
ve
http://mozilla.developer.ch/image
Bu, kolayca httpd.conf or srm.conf'a sıradakileri ekleyerek Apache'den
ProxyPasskomutunu kulanarak yağılabilir.
ProxyPass /video http://cam.hometranet.home:5555/cams/sony/stream
ProxyPass /video http://cam.hometranet.home:5555/cams/sony/stream
Şimdi, web sunucusunu tekrar başlattıktan sonra (mod_proxy uygun olsaydı),
http://mozilla.developer.ch/image ? web sunucusundan cevaplar.
Siteyi ziyaret eden kullanıcılar için onun şeffaflığı ve hemen hemen*
güvenliksizliği, bu metodu kullanarak tatlıya bağlandı.
*hemen hemen 'i kulanmamın nedeni internette tam güvenlik diye
birşey yoktur. :)
Proxypass asıl makineden farklı bir makineye dönüşüm için kullanılabilinir.
Örneğin:
docs.sun.developer.ch , solsparc.hometranet.home 'a dönşür
NameVirtualHost 193.192.254.50 <VirtualHost 193.192.254.50> ServerName sun.docs.developer.ch ProxyPass / http://solsparc.hometranet.home/ TransferLog /net/www/logs/sun.docs.access ErrorLog /net/www/logs/sun.docs.errror </VirtualServer>Ana makinelere onların ip adreslerini kullanarak da gönderi yapabilirsin
<VirtualHost 193.192.254.50> ServerName sun.docs.developer.ch ProxyPass / http://192.168.1.7/ TransferLog /net/www/logs/sun.docs.access ErrorLog /net/www/logs/sun.docs.errror </VirtualServer>
Ana web sunucunuz kullanıcılarınızın lehinde iç web sunucularına istek
yapıyorsa,hiçbir esas makineye bağlanamazsın,onun yerine bütün istekleri
kaynak makinede girmek zorundsın.
Yukarki olayda solsparc.hometranet.home 'a girmek yerine kayıtları esas
makine olan sun.docs.developer.ch 'de girerim.
sun.docs.developer.ch 'de girmenin sonuçları(sahte sonuçlar)
197.0.22.3 - - [05/Nov/1999:22:09:04 +0100] "GET /index.html HTTP/1.0" 304 - 187.0.45.67 - - [05/Nov/1999:22:09:04 +0100] "GET /navi.html HTTP/1.0" 304 - 177.0.5.45 - - [05/Nov/1999:22:09:04 +0100] "GET /entrees.html HTTP/1.0" 304 - 227.0.9.67 - - [05/Nov/1999:22:09:15 +0100] "GET /complets.html HTTP/1.0" 304 - 137.0.7.23 - - [05/Nov/1999:22:09:19 +0100] "GET /menu_poisson.html HTTP/1.0" 200 841 193.192.245.73 - - [05/Nov/1999:22:09:25 +0100] "GET /volailles.html HTTP/1.0" 304 - 192.167.0.1 - - [05/Nov/1999:22:09:44 +0100] "GET /agneau.html HTTP/1.0" 304 -solsparc.hometranet.home 'da girmenin sonuçları
192.168.1.1 - - [05/Nov/1999:22:09:04 +0100] "GET /index.html HTTP/1.0" 304 - 192.168.1.1 - - [05/Nov/1999:22:09:04 +0100] "GET /navi.html HTTP/1.0" 304 - 192.168.1.1 - - [05/Nov/1999:22:09:04 +0100] "GET /entrees.html HTTP/1.0" 304 - 192.168.1.1 - - [05/Nov/1999:22:09:15 +0100] "GET /complets.html HTTP/1.0" 304 - 192.168.1.1 - - [05/Nov/1999:22:09:19 +0100] "GET /menu_poisson.html HTTP/1.0" 200 841 192.168.1.1 - - [05/Nov/1999:22:09:25 +0100] "GET /volailles.html HTTP/1.0" 304 - 192.168.1.1 - - [05/Nov/1999:22:09:44 +0100] "GET /agneau.html HTTP/1.0" 304 - 192.168.1.1 - - [05/Nov/1999:22:09:56 +0100] "GET /desserts_ind.html HTTP/1.0" 304 - 192.168.1.1 - - [05/Nov/1999:22:10:00 +0100] "GET /cocktails.html HTTP/1.0" 304 - 192.168.1.1 - - [05/Nov/1999:22:10:10 +0100] "GET /cgi-bin/commande.cgi HTTP/1.0" 200 2146Aynı başvurular ayrıca ip numaraları veya isimle belirtilen ACLs (access control list) için kullanılır.
<VirtualHost 193.192.254.50> ServerName sun.docs.developer.ch #this rule only allows users from good.host.com domain <Location /private> order deny,allow deny from all allow from good.host.com </Location> #This rule deny's the uncool Microsoft's monopoly helper browser. BrowserMatch MSIE uncool_browser <Location /coolpages> order allow,deny allow from all deny from env=uncool_browser </Location> #This rule only allows users that are in your passwd.httpd file <Location /coolpages> AuthName "only for registered users" AuthType Basic AuthUserFile "/etc/httpd/passwd.httpd" <Limit GET> require valid-user </Limit> </Location> ProxyPass / http://192.168.1.7/ TransferLog /net/www/logs/sun.docs.access ErrorLog /net/www/logs/sun.docs.errror </VirtualServer>
|
Websayfaları
LinuxFocus'un Editörleri tarafından sürdürülüyor
© Atif Ghaffar LinuxFocus.org 2000 hataları veya Linuxfocus'a görüşlerinizi bildirmek için tıklayınız |
2000-04-23, lfparser versiyon 1.5 'le oluşturulmuştur.