Apache と HOSTS ファイルの組み合わせを使用して、Windows マシン上で仮想ホストを構成しようとしています。
たとえば、www.example.com
のサーバーからサービスを受けたいのですlocalhost
が、ポートは80
Citrix プロセスによって占有されており、変更できません。
つまり、私のはhttpd
81 で実行されています。次のことを達成できるようにしたいと考えています。
- 私は打つhttp://www.example.com私のブラウザ上で。
- Apache 仮想ホスト構成は、81 で実行されているにもかかわらず、この要求を受信する必要があります。(これが私の懸念点です!)
- ページの提供元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/rat
。http://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