【问题标题】:How can I force to connect to different server behind a load balancer?如何强制连接到负载均衡器后面的不同服务器?
【发布时间】:2015-10-14 12:30:39
【问题描述】:

我将通过(例如)WebClient 为某些网站请求一些 IIS Web 服务器。 IIS 有两个(或更多)实例,负载均衡器决定使用哪个实例来处理请求。通常,如果建立了连接,则分配特定的服务器来响应进一步的请求。有没有办法强制负载均衡器连接不同的服务器? .NET 中是否有任何类的任何方法可以做到这一点,或者至少可以确定哪个 Web 服务器正在响应?

我问是因为我需要连接到负载平衡器后面的所有服务器并检查下载的内容。

【问题讨论】:

    标签: c# iis webclient load-balancing


    【解决方案1】:

    不,因为负载平衡器必须在您的代码甚至有机会在 Web 服务器上执行之前做出决定。

    如果外人可以影响负载均衡器的选择,那将是非常危险的; DoS 攻击会容易得多。

    【讨论】:

    • 那很糟糕。在使用 DHCP 的情况下刷新 IP 有什么技巧吗?您知道负载均衡器可以将我“粘”到特定服务器多长时间? (是的,我知道在 3 个或更多服务器的情况下这没什么意义,但我有两个并且保证内容不同,即使这听起来很奇怪)。
    • “在使用 DHCP 的情况下刷新 IP”
    • 哈,很好的反驳。你说得对,我对此了解甚少。
    【解决方案2】:

    有两种方法。

    1. 您可以使用负载暂时暂停其中一台服务器 平衡器。这适用于交付测试或开发 环境。作为一项规则,我会说这应该是必需的 做任何交付测试,否则你永远不知道你是否得到了 两台服务器都正确。
    2. 您可以使用 Web 代理从另一个访问您的 Web 服务器 地点。根据负载均衡器设置,您的赔率是 50/50,您将获得相同的服务器或其他服务器。

    Web 代理的一个示例是:https://nordvpn.com/web-proxy/

    为了帮助调试,我尝试在每台服务器上放置一些独特的东西,这样我就知道我在打哪一个。这可能是页脚或类似内容中的一个小线索。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-15
      • 1970-01-01
      • 2013-08-26
      • 2017-12-27
      • 1970-01-01
      • 2013-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多