0

这是设置。我有一个配置有两个后端池的应用程序网关:
BAP 1:VM 1、2、3
BAP 2:VM 1

我有两个听众:
听众 1:web1.mysite.com
听众 2:web2.mysite.com

HTTP 设置:
设置 1:HTTPS
设置 2:HTTPS

我有两条规则:
网站 1:映射到 BAP 1、侦听器 1、设置 1
网站 2:映射到 BAP 2、侦听器 2、设置 2

我想要发生的是对网站 2 (web2.mysite.com) 的所有请求仅转到 VM 1(通过规则映射)。我的设置似乎反映了这一点。

但是,我在所有三个 VM 上的网站 2 的 IIS 日志中都看到了流量。这怎么可能?我尝试过不重叠的池(即池 1 仅包含 VM 2 和 3,池 2 仅包含 VM1),但在访问 web2.mysite.com 时,我仍然获得所有三台机器的流量。

我的后端运行状况显示 VM 1、2、3 对于 HTTP 设置 1 是正常的,而 VM 1 对于 HTTP 设置 2 是正常的。这是我所期望的。没有不健康的探测。在 VM 2 和 3 上,为了更好地衡量,我特意设置了 web2.mysite.com 并确保不存在运行状况探测中指定的文件(即,如果运行状况探测发生故障,则应该使运行状况探测认为站点已关闭甚至查看 VM 2 和 3,它不应该是)。

我的想法是发生了某种处理顺序问题,但否则我不知所措。

先感谢您!

4

1 回答 1

0

我想要发生的是对网站 2 (web2.mysite.com) 的所有请求仅转到 VM 1(通过规则映射)。

是否要将对网站 2 的所有请求传输到 VM1,并将对网站 1 的其他请求传输到 VM2、3?

要更有效地解决此问题,请显示有关您的应用程序网关设置的更多信息。

这是我的应用程序网关设置(web1 在端口 80 上侦听,web2 在端口 8080 上侦听):
后端池设置

Name              Target
backend1          server1
backend2          server2

Http设置

Name     Port     Protocol          
web1     80       HTTP
web2     8080     HTTP

监听器设置

Name       Protocol     Port    Associated Rule
web1       HTTP          80      rule1
web2       HTTP          8080    rule2

规则设置

Name        Type      Listener
rule1       Basic     web1
rule2       Basic     web2

这样,我可以将所有对 web1 的请求传输到服务器 1,将其他对 web2 的请求传输到服务器 2:

在此处输入图像描述
在此处输入图像描述

有关 Azure 应用程序网关的更多信息,请参阅此链接

于 2017-05-03T08:13:13.810 回答