前文:
複数の仮想ホストを持つパブリックアクセス可能なサーバーを構成しました。 1 つの仮想ホストに対するリクエストは、バックエンド サーバーに送信する必要があります。 他のすべてのリクエストは、ローカルで処理する必要があります。
問題:
プロキシする必要がある Web サイトが有効になると、すべての仮想ホストのリクエストは、ProxyPass ディレクティブで指定された IP アドレスに渡されます。他の仮想ホストにアクセスしようとすると、プロキシされた Web サイトから Web ページが表示されます。プロキシされた Web サイトを無効にすると、他のすべての仮想ホストは通常の動作を再開し、ローカルでサービスが提供されます。
設定:
仮想ホスト用に公開アクセス可能なサーバー上に私が持っている設定: (他の仮想ホストは同じ設定のコピーです)
<VirtualHost *:80>
ServerName www.mainsite.com
ServerAlias mainsite.com
ServerAdmin [email protected]
DirectoryIndex index.php
DocumentRoot /var/www/mainsite.com
<Directory />
AllowOverride None
</Directory>
LogLevel info
ErrorLog /var/log/mainsite.com_err.log
CustomLog /var/log/mainsite.com_access.log combined
</VirtualHost>
プロキシされる仮想ホスト用にパブリックにアクセス可能なサーバー上に設定した内容:
<VirtualHost *:80>
ServerName calendar.othersite.com
ServerAdmin [email protected]
ProxyRequests Off
<Location />
ProxyPass http://192.168.0.1/
ProxyPassReverse http://192.168.0.1/
</Location>
<Proxy>
Order Allow,Deny
Allow from all
</Proxy>
TransferLog /var/log/othersite.com_access.log
ErrorLog /var/log/othersite.com_err.log
CustomLog /var/log/othersite.com.log combined
LogLevel debug
</VirtualHost>
答え1
試す
sudo ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled
sudo ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled
sudo /etc/init.d/apache2 restart