Além do Apache padrão no AWS EC2 Linux, instalei o Tomcat 8 e implantei um webservice nele.
O URL atual (que funciona) éhttp://example.com:8080/MyService/api/generatePath
Quero encurtar isso com um subdomínio api.mydomain.com, para poder usar este URL:http://api.example.com/generatePath.
Isto é 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>
Responder1
Primeiro você habilitou o mod proxy no Apache? Em segundo lugar, tente remover ProxyPreserveHost On
Além disso, certifique-se de que a porta esteja abrindo; a maneira mais fácil de verificar é acessarhttp://www.yougetsignal.com/tools/open-ports/(Insira o endereço do site e a porta 80)
Espero que isto ajude
Responder2
(1) Para remover /MyService/
parte do seu URL, renomeie o MyService.war
arquivo para ROOT.war
e copie-o para a pasta webapps usando sudo cp
. Normalmente, espera-se que a instalação do Tomcat gere automaticamente um diretório ROOT na mesma pasta.
(2) Para remover o :8080, acesse o site via :80 que não está listado na barra de URL, usando o instalado que httpd.conf
você indicou. Edite as duas coisas a seguir para ficar assim.
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>