仮想ホスト構成、80 以外のポートで実行される Apache httpd

仮想ホスト構成、80 以外のポートで実行される Apache httpd

Apache と HOSTS ファイルの組み合わせを使用して、Windows マシン上で仮想ホストを構成しようとしています。

たとえば、www.example.comのサーバーからサービスを受けたいのですlocalhostが、ポートは80Citrix プロセスによって占有されており、変更できません。

つまり、私のはhttpd81 で実行されています。次のことを達成できるようにしたいと考えています。

  1. 私は打つhttp://www.example.com私のブラウザ上で。
  2. Apache 仮想ホスト構成は、81 で実行されているにもかかわらず、この要求を受信する必要があります。(これが私の懸念点です!)
  3. ページの提供元http://localhost:81/htdocs

これは本当に可能なのでしょうか?

以下は私の関連セクションですhttpd.conf:

ServerName www.example.com:81
NameVirtualHost www.example.com:81

私のhostsファイルには以下の行があります:

127.0.0.1 www.example.com

答え1

次のスニペットを入れてhttpd.conf動作するか確認してください。内部的にすべてのリクエストを転送しますhttp://localhost:8080/rathttp://localhost:9080/rat

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass /rat http://localhost:9080/rat
ProxyPassReverse /rat http://localhost:9080/rat

ブラウザのURLはそのままですが http://www.example.com:8080/rat、コンテンツは以下から提供されます。http://localhost:9080/rat

関連情報