AWS EC2 上の Tomcat 8 Web サービスの VirtualHost を設定する

AWS EC2 上の Tomcat 8 Web サービスの VirtualHost を設定する

AWS EC2 Linux 上のデフォルトの Apache に加えて、Tomcat 8 をインストールし、その上に Web サービスをデプロイしました。

現在のURL(有効)はhttp://example.com:8080/MyService/api/generatePath

サブドメイン api.mydomain.com を使用してこれを短くし、次の URL を使用できるようにします。http://api.example.com/generatePath

これは私が でやったことです/etc/httpd/conf/httpd.confが、うまくいきません:

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

答え1

まずApacheでmod proxyを有効にしましたか?次に削除してみてください ProxyPreserveHost On

さらに、ポートが開いていることを確認してください。確認する最も簡単な方法は、http://www.yougetsignal.com/tools/open-ports/(ウェブサイトのアドレスとポート80を入力してください)

お役に立てれば

答え2

(1) /MyService/URL の一部を削除するには、MyService.warファイル名を に変更しROOT.war、 を使用して webapps フォルダにコピーしますsudo cp。通常、Tomcat のインストールでは、同じフォルダに ROOT ディレクトリが自動的に生成されるはずです。

(2):8080を削除するには、インストールしたURLを使用して、URLバーに表示されていない:80経由でサイトにアクセスしますhttpd.conf。次の2つを編集して次のようにします。

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>

関連情報