Diretório, proxy e localização - como coexistir em uma configuração do Apache?

4

Principalmente através de tentativa e erro, criei o arquivo de configuração do Apache abaixo.

O objetivo é permitir que um servidor em localhost: 8002 e um servidor trac via WSGI compartilhem um servidor LDAP e pareçam estar no mesmo domínio / porta.

As regras funcionam isoladamente, mas não em paralelo.

Em particular, o trac WSGI só será exibido corretamente se ProxyPass / ProxyPassReverse linhas forem comentadas. Sem isso, redirecione o servidor para localhost: 8002 obviamente não está mapeado para a porta 8022 de saída.

Assumo que a mistura de regras de diretório, proxy e localização é a rota do meu problema - ou talvez a ordem deles?

WSGIDaemonProcess trac stack-size=524288 python-path=/usr/lib/python2.5/site-packages
WSGIScriptAlias /trac /home/web/foo/parts/trac/tracwsgi/cgi-bin/trac.wsgi

<VirtualHost foo.bar.com:8022>
    ServerName foo.bar.com
    ServerAlias foo.bar.com

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

    ProxyPreserveHost On
    ProxyPass / http://localhost:8002/VirtualHostBase/http/foo.bar.com:8022/foo/VirtualHostRoot/
    ProxyPassReverse / http://localhost:8002/VirtualHostBase/http/foo.bar.com:8022/foo/VirtualHostRoot/

    <Directory "/home/web/foo/parts/trac/tracwsgi/cgi-bin">
        WSGIApplicationGroup %{GLOBAL}
        Options +Indexes FollowSymLinks
        AllowOverride None
        Allow from all
        Order allow,deny
    </Directory>

    <Location "/trac">
        AuthBasicProvider ldap
        AuthType Basic
        AuthzLDAPAuthoritative off
        AuthName "Login"
        AuthLDAPURL "ldap://127.0.0.1:389/dc=foo-bar,dc=org?uid"
        AuthLDAPBindDN "cn=admin, dc=foo-bar, dc=org"
        AuthLDAPBindPassword secret
        require valid-user
    </Location>

</VirtualHost>
    
por Jon Hadley 08.09.2010 / 23:18

1 resposta

4

Adicionar:

ProxyPass /trac !

antes de ProxyPass para '/'.

Veja:

link

Você também está perdendo uma diretiva WSGIProcessGroup. Essa instância do Trac não será executada no processo do modo daemon que você criou. Veja:

link

    
por 09.09.2010 / 01:22