在IIS 8.5上运行,我有4个不同的站点运行asp.net应用程序,比如说:80,b:7777,c:8888和d:9999(全部运行在不同的端口上)
有没有办法让domain.com指向默认网站a和其他3个应用程序 – > domain.com/a(指向a:7777),domain.com/b(指向b:8888)和域。 com / c(指向c:9999),所有4个都有独立的应用程序池?
谢谢
通常情况下,您要求的是通过在站点前使用反向代理服务器来实现的。 一些stream行的专用选项包括HAProxy和NGINX 。
它也似乎IIS本身可以用URL重写模块做到这一点。 这里有一个博客文章 ,更多的信息:
有时您需要通过服务器反向代理。 最常见的例子是当你有一个内部的networking服务器没有暴露在互联网上,你有一个公共的networking服务器可以访问互联网。 如果要从内部Web服务器提供stream量,则可以通过创build隧道(也称为反向代理),通过公共Web服务器执行此操作。
实质上,你可以用一个友好的URL来访问内部Web服务器,甚至隐藏自定义的端口。
最简单的方法是将每个asp.net网站添加为同一网站上的“应用程序”。 运行IISpipe理器(inetmgr),右键单击网站并select“添加应用程序”。 系统会提示您填写所有标准信息,如网站(应用程序池,path,安全上下文等)。 重要的部分是“别名” – 无论你在这里input的是“domain.com/b”中的“b”。 唯一需要注意的是你需要确保你的网站已经被编码,以承担文件的当前path相对引用。 所以,当HTML引用你的JS,CSS和图像时,它们都是href =“images / logo.png”而不是根目录相对的,这是href =“/ images / logo.png” – 这是因为你没有在根path中托pipe网站。