好的,我有端口80上运行的IIS和当前运行在端口19049上的Apache。现在外部端口是打开的,以允许超过80的stream量,但我想能够访问外部的Apache页面,而不必打开该端口,或指定端口在URL中。 我find的解决scheme是设置ISAPI重写filterhttp://iirf.codeplex.com/ 。 这个想法在外部我可以去www.mydomain.com/Apache,并且isapifilter将在内部为/ localhost:19049页面提供请求(以/ Apache的forms为条件),并且来回路由所有的stream量所有其他子path正确映射)。
问题是,我可以基本重写工作,即重写从page1.htm到page2.htm的请求或从page1.htm到www.google.comredirect页面。 问题是重写规则不允许将请求发送到另一个端口,redirect规则实际上只是一个301代码(很显然,/ / localhost:19049不会外部工作)。
有没有人有任何真正的解决scheme,肯定它不应该是一个简单的请求周围路由这是困难的。
如果您在主机之外重写,例如http:// x / – > http:// x:999 / ,则您要求客户端redirect,这意味着它将显示在客户端。 你需要一个代理服务器来做到这一点。 试试Squid,Varnish,mod_proxy。
我不使用该filter。 但我认为这不是你需要的解决scheme。 你不需要redirect或重写。 你需要一个反向代理。 有iis和apache的解决scheme。 我可以保证Apache的mod_proxy 。
IIRF有一个ProxyPass指令,这将做你想要的。 您需要IIRF v2.0。