web-dev-qa-db-ja.com

ドメインのほとんどをApacheで提供しますが、mod_proxyを使用してLighttpdからいくつかのURLを提供します

そのため、Apache2を使用して新しいサーバーでいくつかのページをホストし、iframeにlighttpdを使用して、別のサーバーの古いコンテンツと機能の一部を埋め込みます。 「Virtual_Hostとmod_proxyの使用」の下のApacheドキュメント( http://httpd.Apache.org/docs/2.2/vhosts/examples.html#page-header )からこの構成を見ています。一緒。

<VirtualHost *:*>
    ProxyPreserveHost On
    ProxyPass / http://192.168.111.2/
    ProxyPassReverse / http://192.168.111.2/
   ServerName hostname.example.com
</VirtualHost>

唯一の問題は、URLに特定のパスが含まれている場合にのみトップドメインとプロキシを維持できる場合、サブドメインでのみプロキシすることです。 「/myprocess.php」。したがって、本質的にDNSはApache2を「マスタールーター」としてポイントします。

1
Alex Pineda

おそらく3 VirtualHost宣言のセットアップを使用してこれを行うのが最善でしょう。

1つ目は、指定されていない名前のデフォルトのキャッチオールになり、空のページを返すか/ var/www/default /のindex.php HTTP 404応答など:

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName hostname.example.com
  DocumentRoot /var/www/default
  DirectoryIndex index.php index.html index.htm
  ErrorLog /var/log/httpd/default/error_log
  TransferLog /var/log/httpd/default/access_log
</VirtualHost>

2番目は、ドメインwww.example.comを使用するメインの新しいWebサイトになります。

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName www.example.com
  DocumentRoot /var/www/default
  DirectoryIndex index.php index.html index.htm
  ErrorLog /var/log/httpd/newsite/error_log
  TransferLog /var/log/httpd/newsite/access_log
</VirtualHost>

3番目は、サブドメインoldsite.example.comを使用して、古いWebサイトのプロキシとして機能します。

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName oldsite.example.com
  ProxyPreserveHost On
  ProxyPass / http://192.168.111.2/
  ProxyPassReverse / http://192.168.111.2/
  ErrorLog /var/log/httpd/oldsite/error_log
  TransferLog /var/log/httpd/oldsite/access_log
</VirtualHost>
1
richhallstoke

Mod_rewriteを使用して、リバースプロキシ経由で提供するURLに関するルールを設定できます。 Apache Webサイトにそれに関するドキュメントがあります: http://httpd.Apache.org/docs/2.2/rewrite/proxy.html

0