Apache を使用して IP@ を URL に置き換える

Apache を使用して IP@ を URL に置き換える

CentOs 6.2 サーバーに Web アプリケーション (正確には sakai) をインストールしました。sakai は @ip:8080/portal 経由でアクセス可能で、そのアドレスを通常の URL (www.exapmle.com/sakai) に置き換える必要があります。

すでに交換済み:

#<VirtualHost *:80>
# ServerAdmin [email protected]
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

による

<VirtualHost @ip:80>
ServerAdmin webmaster@my_site.com
DocumentRoot /var/www/cmcf
ServerName my_site.com
ErrorLog logs/my_site.com-error_log
CustomLog logs/my_site.com-access_log common
</VirtualHost>

<VirtualHost @ip:8080>(私のウェブアプリは@ip:8080/portal経由でアクセス可能なので試してみましたが、無駄でした)

しかし、ブラウザから sakai にアクセスしようとすると、404 エラーが表示されます。

**Not Found
The requested URL /portal was not found on this server.
Apache/2.2.15 (CentOS) Server at cmcf.men.gov.ma Port 80**

また、"/opt/apache-tomcat-7.0.29" (sakai がデプロイされている場所) を DocumentRoot にしようとしましたが (おそらく非常に大きな間違いですが、Apache を管理するのは初めてなので...)、同じ 404 エラーが発生しました。

皆様のご提案をいただければ幸いです。

答え1

Sakai 管理者ガイドApache を使用して Tomcat アプリをデプロイする方法についての情報が記載されています。

基本的には、次のような基本的なリバース プロキシ構成 (mod_proxy) を使用して、Apache を何らかのリバース プロキシとして設定する必要があります。

ProxyPass /sakai http://localhost:8080/portal
ProxyPassReverse /sakai http://localhost:8080/portal

Tomcat は localhost:8080 でリッスンしています。

代替案としては、Apache を mod_proxy_ajp でセットアップする方法があります。これにより、Apache はよりネイティブな方法で Tomcat と通信するようになります。シンプルなセットアップの場合は、mod_proxy を使用すれば十分です。その後は、Web サーバー (Apache) とアプリケーション サーバー (Tomcat) が相互にどのように関係しているかという観点から、Web スタックがどのように機能するかをよりよく理解できるはずです。

関連情報