Я не могу настроить прокси-сервер внешнего интерфейса 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.
Однако, если я удалю сегменты виртуального хоста, все другие приложения будут работать нормально.
Я уверен, что это работало на предыдущей машине, но сейчас я не могу воспроизвести это. Что я делаю не так?