Executando o Tomcat 7 e o Apache 2 no mesmo servidor

1

Parte do meu site precisa ser executada em HTTPS e estou criando um subdomínio para essa parte. Eu tenho o apache httpd 2 AND Tomcat 7 rodando no mesmo servidor com o mesmo IP, o Apache está na porta 80 é claro, enquanto o Tomcat está rodando na porta 8080. Agora estou fazendo o encaminhamento de domínio para pedidos que precisam rodar o tomcat. Por exemplo, mathteamhosting.com/mathApp pode encaminhar para mathteamhosting.com:8080/mathApp.

Eu gostaria que o Tomcat manipulasse as solicitações https para esse subdomínio. Eu não acho que esta técnica de encaminhamento pode funcionar neste caso. Como configuro isso para que o Tomcat receba as solicitações na porta 443 enquanto o apache manipula a porta 80.

Para ser mais específico: link == > o pedido vai para o servidor web Apache
link == > pedido vai para o servidor web Apache

    
por Thorn 21.03.2012 / 12:06

1 resposta

5

I would like to have Tomcat handle the https requests for that subdomain. I don't think this forwarding technique can work in this case. How do I set that up so that Tomcat receives the requests on port 443 while apache handles port 80.

Na verdade, você pode configurar hosts virtuais para encaminhar todos os tipos de solicitações, incluindo 443. Basta configurar dois hosts virtuais para o mesmo servidor, mas encaminhar por porta. A porta 80 pode ir para o seu webhost e 443 para o seu tomcate via ajp ou proxy http. Exemplo:

NameVirtualHost *:80
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName proctinator.com 

        RewriteEngine On
        RewriteCond %{HTTPS} !=on
        RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

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

NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine On
ServerName private.proctinator.com

ProxyRequests off
ProxyPreserveHost On

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

ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/

<Location />
    Order allow,deny
    Allow from all
</Location>
</VirtualHost>

Você terá que mexer um pouco nas configurações, mas isso deve fornecer a configuração que você descreve.

    
por 21.03.2012 / 17:30