temel mod_proxy sanal ana bilgisayarını ayarlama


11

/ Var / www statik dosyalarıma localhost için tüm istekleri tutarken 127.0.0.1:8080 üzerinde çalışan bir WEBrick sunucusuna test.local tüm istekleri proxy için temel bir sanal ana bilgisayar kurmaya çalışıyorum. Ubuntu 10.04 kullanıyorum.

Yüklü libapache2-mod-proxy-html var ve modül a2enmod proxy ile etkinleştirilmiş. Sanal ana makinemi de etkinleştirdim. Ancak, test.local'a her gittiğimde her zaman şifreli 500 sunucu hatası alıyorum ve tüm günlüklerim söylüyor:

[Thu Mar 03 01:43:10 2011] [warn] proxy: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.

İşte sanal sunucum:

<VirtualHost test.local:80>
    LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
    ServerAdmin webmaster@localhost
    ServerName test.local
    ProxyPreserveHost On

    # prevents this folder from being proxied
    ProxyPass /static !

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

ve işte mod_proxy ayarlarım:

<IfModule mod_proxy.c>
        #turning ProxyRequests on and allowing proxying from all may allow
        #spammers to use your proxy to send email.

        ProxyRequests Off

        <Proxy *>
        # default settings
                #AddDefaultCharset off
                #Order deny,allow
                #Deny from all
                ##Allow from .example.com

        AddDefaultCharset off
        Order allow,deny
        Allow from all
        </Proxy>

        # Enable/disable the handling of HTTP/1.1 "Via:" headers.
        # ("Full" adds the server version; "Block" removes all outgoing Via: headers)
        # Set to one of: Off | On | Full | Block

        ProxyVia On
</IfModule>

Ne yaptığımı bilen var mı? Teşekkürler

Yanıtlar:


35

Görünüşe göre mod_proxy_httpmodülü yüklemiyorsunuz (HTTP sunucularını proxy yapmak için gerekli). Önümde Ubuntu 10.04 yok, ama IIRC böyle bir şey:

sudo a2enmod proxy_http

Hem proxy_http hem de proxy_html etkin ve apache yeniden başlatıldı ama şimdi 503 hatası alıyorum. İşte firefox'ta 3 yenilemeyle yeniden başladıktan hemen sonra günlükler:
SevenProxies

[Per Mar 03 12:25:29 2011] [hata] (111) Bağlantı reddedildi: proxy: HTTP: 127.0.0.1:8080 (localhost) 'a bağlanmaya çalışamadı [Per Mar 03 12:25:29 2011] [hata ] ap_proxy_connect_backend (localhost) için çalışanın devre dışı bırakılması [Per Mar 03 12:26:05 2011] [hata] proxy: HTTP: (localhost) için devre dışı bağlantı [Per Mar 03 12:26:10 2011] [hata] proxy: HTTP: localhost için devre dışı bırakıldı
SevenProxies

Aslında, birdenbire çalışmaya başladı. Teşekkür ederim.
SevenProxies

1
Benim durumumda proxy_ajp eksikti (tomcat ile bağlantı kurmak için AJP kullanıyoruz).
Thomas Ferris Nicolaisen

u az önce hayatımı kurtardı @ThomasFerrisNicolaisen
Pras

2

Yukarıdaki cevap, yazarın seçilen cevaptaki yorumundakiyle aynı hatayı aldığım için bana yardımcı olmadı. Ancak, aşağıdaki gönderiyi buldum ve sorunumu çözen değişikliği değiştirdim:

sudo /usr/sbin/setsebool -P httpd_can_network_connect 1

Kaynak: http://allscm.com/archives/apache2-proxy-disabled-connection-on-localhost.html


CentOS / RedHat / Fedora'nın SELinux'u var. Ubuntu değil.
Martijn Burger

Ah, mükemmel noktam. Orijinal yayındaki [ubuntu] etiketini kaçırdım, ancak şimdi yıllar sonra gördüm. Bu problemle karşılaştığımda CentOS 6'daydım, bu yüzden burada yanlış cevabım.
Myles Steinhauser
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.