налаштування базового віртуального хоста mod_proxy


11

Я намагаюся налаштувати базовий віртуальний хост для проксі всіх запитів на test.local до сервера WEBrick, на якому я працюю на 127.0.0.1:8080, зберігаючи всі запити до localhost, переходячи до моїх статичних файлів у / var / www. Я запускаю Ubuntu 10.04.

У мене встановлено libapache2-mod-proxy-html, і у мене включений модуль із проксі-сервером a2enmod. У мене також включений віртуальний хост. Однак кожного разу, коли я переходжу до test.local, я завжди отримую критичну помилку на сервері 500, і всі мої журнали говорять мені:

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

Ось мій віртуальний хост:

<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

і ось мої налаштування для 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>

Хтось знає, що я роблю неправильно? Спасибі

Відповіді:


35

Схоже, ви не завантажуєте mod_proxy_httpмодуль (який потрібен для проксі на HTTP-сервери). У мене немає Ubuntu 10.04 переді мною, але IIRC це щось на кшталт:

sudo a2enmod proxy_http

У мене включені як proxy_http, так і proxy_html і перезапущено apache, але тепер я отримую помилку 503. Ось журнали праворуч після того, як я перезапустив 3 оновлення на firefox:
SevenProxies

[Чт. 03 березня 12:25:29 2011] [помилка] (111) Відмовлено в підключенні: проксі: HTTP: спроба підключення до 127.0.0.1:8080 (localhost) не вдалася [Чт 03.03.12.25.29 2011] [помилка ] ap_proxy_connect_backend відключення працівника для (localhost) [Чт. 03 березня 12:26:05 2011] [помилка] проксі: HTTP: вимкнено підключення для (localhost) [Четвер 03, 03:26:10 2011] [помилка] проксі: HTTP: вимкнено з’єднання для (localhost)
SevenProxies

Власне, раптом воно почало працювати. Дякую.
SevenProxies

1
У моєму випадку proxy_ajp відсутній (ми використовуємо AJP для з'єднання з tomcat).
Томас Ферріс Ніколайзен

у тільки що врятував мені життя @ThomasFerrisNicolaisen
ВОР

2

Наведена відповідь не допомогла мені, оскільки я отримав ту саму помилку, що й у коментарі автора до вибраної відповіді. Однак я знайшов наступний пост і зміни, які вирішили мою проблему:

sudo /usr/sbin/setsebool -P httpd_can_network_connect 1

Джерело: http://allscm.com/archives/apache2-proxy-disabled-connection-on-localhost.html


CentOS / RedHat / Fedora має SELinux. Ubuntu цього не робить.
Martijn Burger

О, чудовий момент. Я пропустив тег [ubuntu] у початковій публікації, лише зараз це побачив. У той час, коли я стикався з цією проблемою, я був на CentOS 6, тому моя неточна відповідь тут.
Майлз Штайнгаузер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.