Назад | Перейти на главную страницу

смешивание apache2 / другого веб-сервера, виртуальных приложений и статического контента

Я не могу настроить прокси-сервер внешнего интерфейса apache2 на другие серверы, а также обслуживать контент apache2. Мое намерение состоит в том, чтобы apache2 обслуживал некоторый статический контент и некоторые динамические приложения, как с доменными именами, так и с подпапками в корне документа, а также обслуживал некоторые динамические приложения, как с доменными именами, так и без них, проксируемые за apache2. Другими словами, я хочу сделать следующее

Вот мой (упрощенный) файл conf с моими намерениями и неожиданным поведением в комментариях.

####################################################
# Default settings for http://my.server.edu/
####################################################
Listen 80
ServerName my.server.edu:80
DocumentRoot "/Users/me/Sites"

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

<Directory "/Users/me/Sites">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

####################################################
# Static content for http://my.server.edu/lib
####################################################
Alias /lib "/Users/me/Sites/lib"

# The server responds with a "502 Bad gateway" error
ScriptAlias /cgi-bin/ "/Users/me/cgi-bin/"

<Directory "/Users/me/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

####################################################
# Proxies
####################################################
ProxyRequests Off
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

# The following app should get their static content 
# from http://my.server.edu/lib, but the server responds
# with a "502 Bad gateway" error
####################################################
# http://my.server.edu/app1
####################################################
ProxyPass        /app1 http://127.0.0.1:5000
ProxyPassReverse /app1 http://127.0.0.1:5000

# The server responds with a "502 Bad gateway" error
# when serving static content
####################################################
# Virtual host http://vapp1.org
####################################################
<VirtualHost *:80>
    ServerName vapp1.org

    ####################################################
    # Static content for http://vapp1.org/lib
    ####################################################
    Alias /lib "/Users/me/Sites/lib"

    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass        / http://127.0.0.1:5001
    ProxyPassReverse / http://127.0.0.1:5001
</VirtualHost>

#####################################################
# Virtual host subdomain http://subapp.vapp1.org 
#####################################################
<VirtualHost *:80>
    ServerName subapp.vapp1.org 

    ####################################################
    # Static content for http://subapp.vapp1.org/lib
    ####################################################
    Alias /lib "/Users/me/Sites/lib"

    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass        / http://127.0.0.1:5002
    ProxyPassReverse / http://127.0.0.1:5002
</VirtualHost>

Как видно из вышеизложенного, если у меня есть сегменты виртуального хоста в моем файле conf, сервер отвечает ошибкой «502 Bad Gateway» для всего, что должно исходить от http://my.server.edu.

Однако, если я удалю сегменты виртуального хоста, все другие приложения будут работать нормально.

Я уверен, что это работало на предыдущей машине, но сейчас я не могу воспроизвести это. Что я делаю не так?