Articles of arr

更改反向代理响应位置

我在IIS上configuration了一个反向代理,它执行一个URL重写(使用ARR 3.0和URL重写模块2.0)到一个托pipe在tomcat服务器上的网站。 使用configuration反向代理本身的IIS没有configurationSSL,而且我们当前依靠负载均衡层configuration了https,而configuration的IIS位于防火墙后面,大多数用户不能真正使用http访问网站,他们必须使用https访问。 到目前为止,一切都很好,除了当我试图从该网站做login尝试,内部它在login后触发redirect,请求URL是https:// xxx ,但是,响应位置变成http://和因此,防火墙被阻止,网站没有find,但最终的“解决scheme”应该是在响应位置将http更改为https。 但是,由于我对IISconfiguration的知识有限,我不知道应该在哪里寻找帮助或任何相关的文档。 谢谢 PlayKid

与ARR的RD网关

我正在对环境进行更改,以便具有ARR的IIS服务器接收所有外部HTTPS请求,并在内部将它们路由到其服务器。 在这些服务中,我有使用HTTPS的RD网关,并且还有由ARR内部路由的外部stream量。 不过,我正在尝试将此ARR服务器configuration为服务RD网关,但是我没有成功。 我创build了一个入站规则,将接收到的URL重写为内部服务器URL,并将出站规则重写为原始URL,但不成功。 ARR站点和RD网关站点都使用具有相同的公用域有效证书的HTTPS。 显然是执行内部URL的重写,但是不会执行回原始URL。 所以,我想知道ARR是否与这种RD网关实现兼容,并且如果有任何可能指示执行此configuration的材料/文档,您能否帮助我? 谢谢。

对于POST请求,IIS ARR返回502,但对GET很好

概要 我正在使用ARR进行虚拟应用程序的零宕机蓝/绿部署。 GET请求正常工作,但通过ARR发送到虚拟应用程序中运行的ASP.NET站点的POST请求会在ARR中指定的超时后返回502.3错误。 失败请求跟踪显示BytesReceived =“0”,就好像POST请求丢失一样。 如果直接向ARR后面的站点发送POST请求,则工作正常。 build立 我已经设置了应用程序请求路由(ARR),作为同一服务器上的两个网站的反向代理,一次只有其中一个网站标记为“健康”。 这是为了实现零宕机ASP.NET部署,所以可以在发送stream量之前预热站点。 我们的Web应用程序由两个代码库组成,其中一个作为根网站,另一个作为/app/的虚拟应用/app/ 。 因此请求subdomain.myurl.com/app/whatever去虚拟应用程序。 这只是我希望使用ARR的第二个代码库。 WEB – > subdomain.myurl.com/app/ – >服务器场 – > SiteA/app/ 或 SiteB/app/ 服务器上有一个URL重写规则,它将任何具有特定子域和path/应用*的请求redirect到Web场。 SiteA和SiteB被设置为每个都有一个虚拟的应用程序也使用path /app/ 。 问题 GET subdomain.myurl.com/app/返回带有login表单的页面。 带有填写表单字段的POST请求subdomain.myurl.com/app/在服务器场代理设置中指定的超时后导致502错误。 我可以断言,应用程序不会超时 – 在将相同的请求直接发送到站点而不是通过ARR返回200ms内。 失败的请求追踪 对于在服务器场代理超时(已尝试30,60和300秒)中设置的值, GENERAL_READ_ENTITY_START和GENERAL_READ_ENTITY_END之间的时间戳之间存在差距。 这是输出: NOTIFY_MODULE_START – ModuleName="ManagedPipelineHandler", Notification="EXECUTE_REQUEST_HANDLER", fIsPostNotification="false" GENERAL_READ_ENTITY_START 代理超时的时间戳延迟 GENERAL_READ_ENTITY_END , BytesReceived="0", ErrorCode="The I/O operation has been aborted […]

IIS应用程序请求路由Perf星期一健康计数器(不寻常的数字)

我使用IIS ARR来平衡4个服务器之间的HTTP请求,使用4个不同的农场,每个服务器都与不同的主机地址有关。 一切工作正常。 现在,Id想要为主机,每个服务器场和服务器内部设置一些性能监视。 我正在通过perfmon计数器查看,可以看到一个应用程序请求路由对象,特别是一个名为健康的计数器。 这似乎是一个理想的指标,因为我得到一个布尔types值为1,当一个服务器是健康的,0时,不健康。 但是,我的服务器之一,我得到的价值 – 2,113,929,217。 有任何想法吗 ? Counter Instance Computer Value Note Health my-farm\serv-1 farm-host 1 Healthy Health my-farm\serv-1 farm-host 1 Healthy Health my-farm\serv-1 farm-host 0 Unhealthy Health my-farm\serv-1 farm-host 2,113,929,217 Both States

反向代理和IIS

我正在尝试做一些应该比较简单的事情,但是我仍然无法做到这一点。 假设我的局域网上有两台虚拟机。 这些机器是用于客户testing目的的Web服务器。 旧的运行IIS6,新的运行IIS7.5 假设我只有一个公用IP地址可供使用。 在原来的情况下,公共IP被映射到旧机器,一切都很好。 现在我需要在这两台机器之间“拆分”这个公共地址。 我想要做的是,根据主机头,“redirect”或“重写”请求到正确的机器。 到目前为止,我尝试使用IIS7的“新”机器作为反向代理,摆弄ARR和Url Rewrite。 我还尝试了与前两个模块结合的“Web Farm框架”。 简短的故事:我无法做到这一点:无论如何,所有请求都被redirect到“旧”机器。 长篇故事:我试图让事情尽可能干净。 我最干净的尝试是制造2个服务器农场,第一个是新机器(这本身),第二个是旧机器。 在我的重写规则中,我把第一条规则是:任何匹配www1。*。mydomain.com的东西都应该路由到webfarm new,然后停止处理。 第二个规则(只有在第一个规则失败的情况下才能被检查)表示与* .mydomain.com匹配的任何内容都会被路由到webfarm旧的。 在这种情况下,一切都被路由到旧的机器。 但是,如果我禁用* .mydomain.com规则,第一个实际工作。 这就好像第二条规则如果启用,优先,即使是在另一个之下。 如果有人有解决这个问题的方法,即使是完全不同的方法,也欢迎你。 我需要根据主机头在这两台机器上分割公共IP。 谢谢。

iis7基于域的代理?

我是一个长期的IIS用户,但对IIS7是新的。 我们需要在我们的组织中根据用户的域名来路由我们的多域Intranet上的用户。 我正在寻找IIS,因为集成的Windows身份validation(否则,我会去与Linux上的HAProxy)。 我们的用户将冲浪到服务器“FOO”,这真的是一个代理。 代理将查看他们的域名(域\用户名),如果他们在域“A”,代理会将他们的请求路由到FOO_A。 如果他们在域“B”,那么他们被路由到FOO_B。 我看到,IIS有他们的代理版本,“应用程序请求路由”。 我看到的例子是更多的网站场景,而不是我所说的智能代理。 对于那些使用IIS7更经验丰富的人,是我想做的事情吗? 我可以根据请求者的身份validation(通过IWA)域成员身份来代理入站请求吗?

在应用程序请求路由2.5与应用程序请求路由2.0之间有很大的区别

我们目前使用ARR 2.0,ARR 2.5中有一些新function! 这两个版本有很大的性能差异?

通过ARR模块处理磁盘caching。 如何释放它而不回收应用程序池?

我在目录c:\ arrCache_media \ video中获得caching的磁盘文件。 IIS仍然处理该文件,所以我不能重命名,删除或重写该文件。 但我可以将文件移动到另一个文件夹,所以我尝试这个途径来解决我的问题。 我将我的文件entcadieux1.wmv.full移动到另一个文件夹名为Trash的pathc:\ Trash中。 当我移动文件IIS仍然得到该文件的句柄。 如果您查看过程监视器IIS的屏幕截图,则可以在垃圾目录中获取该文件。 如果我删除该文件,iis将获取系统垃圾文件夹中的文件。 我的问题是,ARRcaching系统lockingcaching文件夹中的文件是不正常的。 我可以在读取模式下打开文件。 所以他可能是逻辑,文件的句柄将在写入过程后释放。 在这种情况下,我认为这个问题可以解决。 该文件可以手动删除,也可以通过代码删除,iis将在Web场服务器上发送请求。 我知道如果我回收应用程序池,iis将释放句柄,但我不会不释放应用程序池,因为这将影响超过200个站点

在IIS下使用最后修改的caching头设置ARR

我想设置ARR(IIS负载平衡软件)caching,这取决于标题中last-modified标签。 每次服务器收到请求时,都会查看last-modified标签,如果已经被caching,则会将caching中的数据呈现给用户。 但是,如果这是一个尚未caching的页面,服务器将显示原始文件。 我怎样才能做到这一点?

如何使用应用程序请求路由在IIS群集中进行故障转移?

我已经build立了几个服务器与IIS,并连接到负载平衡器 – 服务器与安装的IIS应用程序请求路由。 我创build了一个服务器场并添加了两台服务器。 然后,我停止了第一台服务器上的IIS,并试图打开我的网站。 它返回了我一个错误: 502 – Web server received an invalid response while acting as a gateway or proxy server. [There is a problem with the page you are looking for, and it cannot be displayed. When the Web server (while acting as a gateway or proxy) contacted the upstream content server, it […]