混合 apache2/另一个 Web 服务器、虚拟应用程序和静态内容

混合 apache2/另一个 Web 服务器、虚拟应用程序和静态内容

我无法将 apache2 前端代理配置到其他服务器并提供 apache2 内容。我的目的是让 apache2 提供一些静态内容和一些动态应用程序,这些应用程序既有域名的,也有作为文档根目录子文件夹的,还提供一些动态应用程序,这些应用程序既有域名的,也有没有域名的,代理在 apache2 后面。换句话说,我想做以下事情

这是我的(简化的)配置文件,其中包含我的意图和评论中表现出的意外行为。

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

从上面可以看出,如果我的配置文件中有虚拟主机段,那么服务器会对所有应该来自http://my.server.edu

但是,如果我删除虚拟主机段,所有其他应用程序都可以正常工作。

我确信我在之前的机器上可以做到这一点,但现在我无法重现这一点。我做错了什么?

相关内容