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>