configurare un host virtuale mod_proxy di base


11

Sto cercando di impostare un host virtuale di base per eseguire il proxy di tutte le richieste a test.local su un server WEBrick che ho eseguito su 127.0.0.1:8080 mantenendo tutte le richieste a localhost andando ai miei file statici in / var / www. Sto eseguendo Ubuntu 10.04.

Ho installato libapache2-mod-proxy-html e ho il modulo abilitato con proxy a2enmod. Ho anche il mio host virtuale abilitato. Tuttavia, ogni volta che vado su test.local ricevo sempre un errore criptico del server 500 e tutti i miei registri mi dicono che è:

[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.

Ecco il mio host virtuale:

<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

ed ecco le mie impostazioni per mod_proxy:

<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>

Qualcuno sa cosa sto facendo di sbagliato? Grazie

Risposte:


35

Sembra che non si stia caricando il mod_proxy_httpmodulo (necessario per eseguire il proxy su server HTTP). Non ho Ubuntu 10.04 davanti a me, ma IIRC è qualcosa del tipo:

sudo a2enmod proxy_http

Ho sia proxy_http che proxy_html abilitati e riavviato apache ma ora sto ricevendo un errore 503. Ecco i log da subito dopo che ho riavviato con 3 aggiornamenti su Firefox:
SevenProxies

[Gio 03 12:25:29 2011] [errore] (111) Connessione rifiutata: proxy: HTTP: tentativo di connessione a 127.0.0.1:8080 (localhost) non riuscito [Gio 03 Mar 12:25:29 2011] [errore ] ap_proxy_connect_backend disabilitando worker per (localhost) [Gio 03 marzo 12:26:05 2011] [errore] proxy: HTTP: connessione disabilitata per (localhost) [Gio 03 marzo 12:26:10 2011] [errore] proxy: HTTP: connessione disabilitata per (localhost)
SevenProxies

In realtà, all'improvviso ha iniziato a funzionare. Grazie.
SevenProxies

1
Nel mio caso mancava proxy_ajp (usiamo AJP per connetterci con Tomcat).
Thomas Ferris Nicolaisen,

mi hai appena salvato la vita @ThomasFerrisNicolaisen
Pras

2

La risposta di cui sopra non mi è stata d'aiuto poiché stavo ricevendo lo stesso errore del commento dell'autore nella risposta selezionata. Tuttavia, ho trovato il seguente post e le modifiche che hanno risolto il mio problema:

sudo /usr/sbin/setsebool -P httpd_can_network_connect 1

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


CentOS / RedHat / Fedora ha SELinux. Ubuntu no.
Martijn Burger,

Oh mio, punto eccellente. Mi mancava il tag [ubuntu] sul post originale, solo ora lo vedo anni dopo. Ero su CentOS 6 al momento in cui ho riscontrato questo problema, quindi la mia risposta imprecisa qui.
Myles Steinhauser,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.