Search code examples
pythonapacheweb-applicationsvirtualhostcherrypy

CherryPy application behind apache, apache serving other applications


What I want to do:

host/ --> apache
host/app1 --> apache
host/app2 --> apache --> cherrypy

I am totally lost between mod_rewrites, proxies, virtualhosts and locations. Don't know how to do it. I know how to get:

host/ --> apache --> cherrypy

or even:

host/app2 --> apache --> cherrypy

but don't know how to mix everything together Any idea?

The reason to do this is because I want to install my app (done with cherrypy) running behind an apache server that has other apps (done in PHP, perl, etc.).


Solution

  • Create a config file under httpd/conf.d/, that reads:

    ProxyPass /app2 http://localhost/app2
    ProxyPassReverse /app2 http://localhost:9091/app2
    

    this is the cherrypy server:

    http://localhost:9091
    

    with an application running in /app2.

    This is a reverse proxy. When client requests /app2, the request is finally handled as

    http://localhost:9091/app2
    

    and this seems being done without the client being aware of the cherrypy server.