Executando o Apache e o Tomcat juntos em subdomínios diferentes?

4

Postado isso no ServerFault, mas não recebi uma resposta. Espero ter mais sorte no site do Ubuntu.

Eu tenho tentado fazer isso funcionar todo o dia de hoje. Eu tenho um servidor que resolve para o domínio example.com . Isso está executando o Apache2 e o Tomcat 6. O requisito é direcionar solicitações para example.com para apache2 e app.example.com para o Tomcat. Eu sei que tenho que fazer um proxy no VirtualHost para que isso funcione. . Aqui estão as configurações no meu servidor.

O arquivo

/ etc / hosts é parecido com este

127.0.0.1     localhost localhost.localdomain example.com app.example.com 

Eu tenho dois arquivos de host virtual para os diferentes domínios em / etc / apache2 / sites-enabled

/etc/apache2/sites-enabled/example.com parece com isso

<VirtualHost *:80>

  # Admin email, Server Name (domain name) and any aliases
  ServerAdmin webmaster@localhost
  ServerName  example.com
  ServerAlias www.example.com

  DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <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/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>


</VirtualHost>
O arquivo

/etc/apache2/sites-enabled/app.example.com é semelhante a este

<VirtualHost *:80>
  ServerName  app.example.com
  ServerAlias www.app.example.com

  ProxyPreserveHost On
  ProxyPass / http://localhost:8080/
  ProxyPassReverse / http://localhost:8080/
  SetEnv force-proxy-request-1.0 1
  SetEnv proxy-nokeepalive 1
</VirtualHost>

mod_proxy e mod_rewrite estão ambos habilitados na instância do apache. Eu tenho uma entrada CNAME para example.com e app.example.com. Ao acessar app.example.com, recebo um 403 proibido, dizendo que não tenho acesso a / no servidor. O que estou fazendo de errado?

    
por Ritesh M Nayak 25.12.2010 / 05:56

2 respostas

2

Eu tenho um problema semelhante quando uso essa construção na definição de host virtual:

ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/

No meu caso, ele começa a funcionar quando aponto o aplicativo:

  • permite redirecionar esse endereço: link

    ProxyPass /confluence/ http://localhost:8180/confluence/ 
    ProxyPassReverse /confluence/ http://localhost:8180/confluence/
    
  • permitem redirecionar esse endereço: link para o aplicativo adequado

    ProxyPass / http://localhost:8180/confluence/ 
    ProxyPass / http://localhost:8180/confluence/
    
por Lukasz Stelmach 08.05.2011 / 15:20
2

Tente:

VirtualHost 'app.example.com:80'

em vez de

VirtualHost '*:80'
    
por Martin Owens -doctormo- 08.01.2011 / 04:59