我有一个用 C#/ASP.NET 编写的反向代理。在 IIS6 中添加通配符映射后,它工作得很好。我的问题是我必须使这个应用程序与 Windows XP 和 IIS 5.1 兼容。第一次尝试添加映射到 aspnet_isapi.dll 的通配符文件类型不起作用。我也尝试使用文件扩展名无济于事。
我的下一条路径是探索使用 Ionic 的 Isapi 重写过滤器 (IIRF) 将请求重新路由到我的 Asp.Net 应用程序。有没有人为此目的使用它?在我看来,我仍然需要更改反向代理的工作方式。
现在,通过一个过程我生成了一个连接,所以用户看到:
http://example.com/remotesite/34x904/home.htm
我将 HttpHandler 映射到 remotesite/ 虚拟路径
<add verb="*" path="/remotesite/*" validate="false" type="Proxy.Core.HttpHandler,Proxy.Core"/>
并且后端 HttpWebRequest 最终将使用这样的 URI:
http://10.1.1.21/home.htm
在 IIS 5 中,我已经按文件扩展名进行了三重映射,但仍然无法显示分页。
<add verb="*" path="test.proxy" validate="false"
type="Proxy.Core.HttpHandler,Proxy.Core"/>
<add verb="*" path="/test.proxy/*" validate="false"
type="Proxy.Core.HttpHandler,Proxy.Core"/>