是否可以在 IIS6 中创建到外部 IP 的静默重定向?
因此,我们在我们的网站中创建一个虚拟目录:
www.oursite.com/virtual/
我们有一个外部应用程序位于 app.partnersite.com
我们希望 www.oursite.com/virtual/ 指向 app.partnersite.com/(我猜是它的 IP 地址),但我们希望 URL 保留为 www.oursite.com/virtual/
希望这很清楚。
任何建议都非常感谢。
答案1
不,或者至少在没有一些额外的东西的情况下不。
您描述的是反向代理,即您的网站代理其他网站,但针对的是外部用户而非内部用户。我知道有第三方 ISAPI 过滤器可以做到这一点,但除此之外我一无所知。您可能可以使用免费的 Web 代理 SQUID 并说服它这样做,尽管这可能有些麻烦。另一种选择是使用 ISA Server,但显然需要付费。
您能升级到 W2k8 和 IIS7 吗?如果可以,MS 已发布了可用于此目的的名为 Application Resource Routing 的软件。
JR
答案2
好的,我知道该怎么做了。
正如我在其中一条评论中提到的,我们已经使用了 Helicon ISAPI Rewrite 组件
我意识到我们使用的 ISAPI Rewrite 免费版本不包含代理模块:www.helicontech.com/isapi_rewrite/doc/litever.htm
因此您必须支付完整版费用(每台服务器 99 美元):www.helicontech.com/order/#isapi_rewrite3
安装完成后,按照示例将外部站点的内容映射到您站点上的目录:http://www.helicontech.com/isapi_rewrite/doc/examples.htm#proxy
事实上,这非常简单。
感谢您的所有建议。
答案3
更优雅的做法可能是为外部应用程序 (someapp.oursite.com) 使用带有 CNAME 的子域(带有屏蔽或有时称为隐藏);这是我喜欢的方法,因为它“看起来”仍然是组织的一部分,而不必为重定向等而烦恼。
如果您必须保留 URL 并且不能遵循 John 的建议,您可以使用全屏 iframe(这应该适用于所有当前浏览器):
在 www.example.com/virtual/ 中创建 default.htm,其中将包含本文所述的以下 HTML: http://www.dev-explorer.com/articles/full-page-iframe