Apacheプロキシパスを使用して、他のサーバーからベースサーバーにコンテンツを表示します
私はこのコードを使用します
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/2
ServerName 2.example.com
ProxyPass /tv http://t1.example.com/tv/
ProxyPassReverse /tv http://t1.example.com/tv/
ErrorLog logs/errorlive_log
CustomLog logs/access_live common
</VirtualHost>
したがって、ファイルが2.example.com(/ var / www / html / 2)に存在するかどうかを最初に確認する方法はありますか?ファイルが存在する場合はこのサーバーから表示され、ファイルが存在しない場合はt1.example.com/からサーバーを要求しますテレビ/
-そして私は2番目の質問があります:server2がserver1にありサーバー2で10ユーザー(10mbps)を見ているビデオを提供する場合、どのサーバーからサーバー2またはサーバー1から10mbpsが取得されるか、または両方のサーバーに10mbpsの負荷がかかります
Apacheドキュメントでは、ProxyPassおよびRewriteRuleディレクティブの注文を確認できます。
RewriteRuleディレクティブは、ProxyPassディレクティブの前に評価されます。
したがって、ファイルが存在するかどうかをテストする書き換えルールを追加できます
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/2
ServerName 2.example.com
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .* - [L]
ProxyPass /tv http://t1.example.com/tv/
ProxyPassReverse /tv http://t1.example.com/tv/
ErrorLog logs/errorlive_log
CustomLog logs/access_live common
</VirtualHost>
RewiteCondは、%{REQUEST_FILENAME}が通常のファイルであるかどうかをテストしてから、rewriteRuleがファイルに書き換えます。それはhtml、画像、phpファイルなどである可能性があります...
今、あなたはあなたのニーズに適応することができます。
編集2番目の質問のために、私は答えるのを忘れました。すみません、悪いです。
Apache mod_proxyのドキュメントによると、「これとは対照的に、リバースプロキシ(またはゲートウェイ)は、通常のWebサーバーと同じようにクライアントに表示されます。クライアントで特別な構成を行う必要はありません。クライアントは、リバースプロキシ。リバースプロキシは、それらのリクエストの送信先を決定し、それ自体が発信元であるかのようにコンテンツを返します。」
したがって、両方のサーバーがロードされます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加