そのため、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を「マスタールーター」としてポイントします。
おそらく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>
Mod_rewriteを使用して、リバースプロキシ経由で提供するURLに関するルールを設定できます。 Apache Webサイトにそれに関するドキュメントがあります: http://httpd.Apache.org/docs/2.2/rewrite/proxy.html