【发布时间】:2023-08-27 20:27:02
【问题描述】:
我们有两台装有 Cisco Ace-30 负载平衡器的 Windows 2008 R2 服务器,以及一些具有联合身份验证 (thinktecture) 的 MVC 和 WebForms 应用程序(.net 4.5 和 4.5.1)。负载均衡器配置了 ssl,但从负载均衡器到 Web 服务器的流量是在 http 上。我要解决的问题是 url 的一部分区分大小写。拿这个网址:
- https://my-server.temp.net/MyApp/(工作中)
- https://my-SERVER.temp.net/MyApp/(工作中)
- https://my-SERVER.temp.net/MyApp/DEfault.AsPX(工作中)
- https://my-server.temp.net/myapp/(不工作,即没有响应)
在负载平衡器中,我禁用了默认的区分大小写,从我读到的内容来看,IIS 中没有这样的设置。我尝试创建一个静态网站(无身份验证),这按预期工作:
我也尝试过设置 url 重写规则,一旦应用该规则,就会出现超时。我的猜测是 IIS 将传入的 http 请求重写为新的 http 请求,负载均衡器无法识别其已修改的 https 请求。但我在这里猜测并超出了我的舒适区。
所以现在我有点困惑,不确定是什么导致 url 区分大小写。是吗:
- 负载平衡器
- IIS
- 身份验证
- 别的东西
如果有任何想法或调试提示,我将非常高兴
谢谢
拉西
【问题讨论】:
-
捕获一些网络数据包并查看请求的去向真的太难了吗?这应该很容易告诉你问题出在哪里,然后你就可以专注于那个地方。 IIS 是高度可配置的,因此很难得出“IIS 中没有这样的设置”的结论。例如,写得不好的 URL 重写规则可能会区分大小写,并且会严重影响您。
标签: asp.net iis load-balancing cisco thinktecture-ident-server