Richten Sie VirtualHost für den Tomcat 8-Webdienst auf AWS EC2 ein

Richten Sie VirtualHost für den Tomcat 8-Webdienst auf AWS EC2 ein

Zusätzlich zum Standard-Apache auf AWS EC2 Linux habe ich Tomcat 8 installiert und darauf einen Webdienst bereitgestellt.

Die aktuelle URL (die funktioniert) lautethttp://example.com:8080/MyService/api/generatePath

Ich möchte dies mit einer Subdomain api.mydomain.com verkürzen, sodass ich diese URL verwenden kann:http://api.example.com/generatePath.

Folgendes habe ich getan /etc/httpd/conf/httpd.conf, aber es funktioniert nicht:

<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>

Antwort1

Haben Sie zuerst den Mod-Proxy auf Apache aktiviert? Versuchen Sie dann, ProxyPreserveHost On

Stellen Sie außerdem sicher, dass der Port geöffnet wird. Am einfachsten können Sie dies unterhttp://www.yougetsignal.com/tools/open-ports/(Websiteadresse und Port 80 eingeben)

Hoffe das hilft

Antwort2

(1) Um den /MyService/Teil Ihrer URL zu entfernen, benennen Sie Ihre MyService.warDatei in um ROOT.warund kopieren Sie sie mit in Ihren Webapps-Ordner sudo cp. Normalerweise sollte Ihre Tomcat-Installation automatisch ein ROOT-Verzeichnis im selben Ordner generieren.

(2) Um :8080 zu entfernen, rufen Sie die Site stattdessen über :80 auf, das nicht in der URL-Leiste aufgeführt ist, und verwenden Sie die httpd.confvon Ihnen angegebene Installation. Bearbeiten Sie die folgenden beiden Dinge, damit sie wie folgt aussehen.

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>

verwandte Informationen