開発者のマシンでいくつかのWebアプリケーションを実行しています。これらは、サブドメインでホストされている本番ウェブアプリケーションを模倣しています。たとえば、次のことを考慮してください。
api.myserver.com - is mimicked by 127.0.0.1:8000
www.myserver.com - is mimicked by 127.0.0.1:8008
and so on...
Windows 7マシンで、「api.myserver.com」へのHTTP呼び出し(ポート番号がないことに注意)が127.0.0.1:8000などにリダイレクトされるようにするにはどうすればよいですか?これは、クライアント側の呼び出し(ブラウザー内)とサーバー側の呼び出し(IISからPython開発サーバーへ)およびその逆)の両方に適用する必要があることに注意してください。 )。
これを実現するには、ローカルで実行するプロキシが必要ですか?そのようなツールをお勧めできますか?
実際、問題の解決策はポート変換よりもはるかに簡単です。
127.x.x.x IPブロック全体がローカルホストにルーティングされるため、このブロックで必要な任意のIPを使用して、各Webサイトにバインドできます。
たとえば、hostsファイルを編集してバインドします。
127.0.0.1 www.site.com
127.0.0.2 api.site.com
127.0.0.3 dev.site.com
IPアドレスにバインドするように各サイトを構成します。
IIS以外の他のサーバーを使用する必要があり、IISはポート80で使用可能なすべてのIPを蓄積する傾向があるため、これを完全に機能させるには、ソケットプーリングを無効にする必要があることに注意してください。
http://www.iislogs.com/steveschofield/iis7-post-44-iis7-and-Apache-on-the-same-machine
異なるポートではなく異なるホストヘッダーに応答するようにWebサイトを構成してから、hosts
ファイルを使用してこれらすべての名前を127.0.0.1にマップする必要があります。このようにして、Webブラウザに「www.myserver.com」または「api.myserver.com」と入力するだけで、正しいサイトが使用されます。
Mod_proxyを備えたApacheはあなたが望むことをします。例:
<VirtualHost 127.0.0.1:80>
ServerName api.myserver.com
ProxyRequests On
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8000/
</VirtualHost>
必要なすべてのサブドメインに対して、このようなVirtualHost定義を定義します。