Configure VirtualHost para el servicio web Tomcat 8 en AWS EC2

Configure VirtualHost para el servicio web Tomcat 8 en AWS EC2

Además del Apache predeterminado en AWS EC2 Linux, instalé Tomcat 8 e implementé un servicio web en él.

La URL actual (que funciona) eshttp://ejemplo.com:8080/MyService/api/generatePath

Quiero acortar esto con un subdominio api.midominio.com, para poder usar esta URL:http://api.example.com/generatePath.

Esto es lo que he hecho en /etc/httpd/conf/httpd.conf, pero no 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>

Respuesta1

Primero, ¿ha habilitado el proxy mod en Apache? En segundo lugar intenta eliminar ProxyPreserveHost On

Además, asegúrese de que el puerto esté abierto; La forma más sencilla de comprobarlo es ir ahttp://www.yougetsignal.com/tools/open-ports/(Ingrese la dirección del sitio web y el puerto 80)

Espero que esto ayude

Respuesta2

(1) Para eliminar /MyService/parte de su URL, cambie el nombre de su MyService.wararchivo ROOT.wary cópielo en su carpeta de aplicaciones web usando sudo cp. Normalmente, se espera que la instalación de Tomcat genere automáticamente un directorio RAÍZ en la misma carpeta.

(2) Para eliminar :8080, acceda al sitio a través de :80, que no aparece en la barra de URL, utilizando la instalación httpd.confque indicó. Edite las siguientes dos cosas para que se vean así.

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>

información relacionada