Tengo varias aplicaciones web que se ejecutan en mi servidor web:¿Cómo configurar una ubicación proxy para todas las rutas excepto algunas con apache2?
- repositorio SVN navegador, accesible a través de
https://beta.mydomain.tld/svn/repos
- instancia Trac, accesible a través de
https://beta.mydomain.tld/trac
- Mi propia aplicación Java Web, accesible a través de
http://beta.mydomain.tld/
, utilizando una Proxy para Apache Tomcat local en el puerto 8080
Tenga en cuenta que los dos primeros están disponibles a través de SSL, el tercero no es (todavía). Ahora tengo que hacer que mi aplicación web esté disponible a través de https, pero quiero que Trac y SVN Browser aún estén accesibles en su ubicación actual.
I.e. Estoy intentando configurar apache2 para proxy todas las solicitudes que no comienzan con svn
o trac
a Tomcat.
Para las aplicaciones web SSL existentes, hay la siguiente configuración
<Location /svn/repos>
DAV svn
SVNParentPath /home/myuser/svn
SVNListParentPath on
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/myuser/.htpasswd
Require valid-user
</Location>
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /home/myuser/trac
PythonOption TracUriRoot /trac
AuthType Basic
AuthName "Trac"
AuthUserFile /home/myuser/.htpasswd
Require valid-user
</Location>
He intentado añadir la siguiente ubicación, pero no sirvió de nada nada ...
<Location />
ProxyPass http://localhost:8080
ProxyPassReverse http://localhost:8080/
</Location>
Para más información, aquí está la configuración completa de apache2 con respecto a la parte SSL (sin ninguna de mis pruebas fallidas en ella, creo que es la configuración de trac predeterminada):
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName beta.mydomain.tld:443
DocumentRoot /var/www/
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/ssl_access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl.crt
SSLCertificateKeyFile /etc/ssl/private/ssl.key
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
<Location /svn/repos>
DAV svn
SVNParentPath /home/myuser/svn
SVNListParentPath on
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/myuser/.htpasswd
Require valid-user
</Location>
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /home/myuser/trac
PythonOption TracUriRoot /trac
AuthType Basic
AuthName "Trac"
AuthUserFile /home/myuser/.htpasswd
Require valid-user
</Location>
Lo siento, ahora que he escrito esto, me di cuenta de que habría sido mejor ubicado en serverfault. Sería genial si alguien pudiera moverlo allí ... Gracias. – peterp