我如何将一个子域重新路由到localhost +端口号?

我有几个Web应用程序在我的开发人员机器上运行。 他们模仿我们在子域上托pipe的生产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机器上的HTTP调用“api.myserver.com”(注意缺less端口号)redirect到127.0.0.1:8000等? 请注意,这需要同时适用于客户端调用(在浏览器中)和服务器端调用(从IIS到Python开发服务器,反之亦然)。

我需要一个代理来运行本地来实现吗? 你能推荐这样的工具吗?

其实解决你的问题比端口转换简单得多。

由于整个127.xxx IP块被路由到本地主机,所以你可以在这个块中使用你想要的任何IP,并将它绑定到每个网站。

例如,编辑你的hosts文件来绑定:

 127.0.0.1 www.site.com 127.0.0.2 api.site.com 127.0.0.3 dev.site.com 

configuration每个站点绑定到其IP地址。

请注意,由于您想使用IIS旁边的其他服务器,并且IIS倾向于为端口80囤积所有可用的IP,因此您需要禁用套接字池才能完美工作:

http://www.iislogs.com/steveschofield/iis7-post-44-iis7-and-apache-on-the-same-machine

您应该configuration您的网站来回答不同的主机头,而不是不同的端口,然后使用您的hosts文件映射所有这些名称为127.0.0.1; 这样,您只需在网页浏览器中input“www.myserver.com”或“api.myserver.com”,即可使用正确的网站。

Apache与mod_proxy做你想要的。 例:

 <VirtualHost 127.0.0.1:80> ServerName api.myserver.com ProxyRequests On ProxyPreserveHost On ProxyPass / http://127.0.0.1:8000/ </VirtualHost> 

为每个需要的子域定义一个像这样的VirtualHost定义。