Defina o serviço Web do VirtualHost para Tomcat 8 no AWS EC2

1

Além do Apache padrão no AWS EC2 Linux, instalei o Tomcat 8 e implementei um serviço da Web nele.

O URL atual (que funciona) é link

Eu quero fazer isso mais curto com um subdomínio api.mydomain.com, para que eu possa usar este URL: link .

Isso é o que eu fiz no /etc/httpd/conf/httpd.conf , mas não funciona:

<VirtualHost *:80>
    ServerName api.example.com
    ProxyRequests Off
    ProxyPreserveHost On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://localhost:8080/MyService/api
    ProxyPassReverse / http://localhost:8080/MyService/api
</VirtualHost>
    
por Arturo 21.06.2015 / 16:29

2 respostas

2

Primeiro você habilitou o mod proxy no apache? Em segundo lugar, tente remover ProxyPreserveHost On

Além disso, verifique se a porta está abrindo; A maneira mais fácil de verificar é acessar o link (digite o endereço do site e a porta 80)

Espero que isso ajude

    
por 21.06.2015 / 17:23
2

(1) Para remover a parte /MyService/ do seu URL, renomeie o arquivo MyService.war para ROOT.war e copie-o para a pasta webapps usando sudo cp . Normalmente, espera-se que sua instalação do tomcat gere automaticamente um diretório ROOT na mesma pasta.

(2) Para remover o: 8080, acesse o site por meio de: 80, que não está listado na barra de URL, usando o httpd.conf que você indicou. Edite as duas coisas a seguir para se parecer com isso.

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

<VirtualHost *:80>
    ServerName api.example.com

    ProxyRequests On
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/

    <Location "/">
            Order allow,deny
            Allow from all
    </Location>
</VirtualHost>
    
por 20.05.2017 / 01:42