首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTPS网站在公共负载均衡器后面的Azure VM上出现502错误

HTTPS网站在公共负载均衡器后面的Azure VM上出现502错误
EN

Server Fault用户
提问于 2016-03-31 05:23:28
回答 1查看 1.7K关注 0票数 2

我有一个Azure VM后面的Azure公共负载平衡器。VM正在运行一个网站。我可以通过HTTP在浏览器中加载网站,没有任何问题,但是当我尝试HTTPS时,我会得到502错误。

我已经设置了一个负载平衡规则,以便将443发送到VM。我允许通过网络安全组在443上进行所有连接。我已经三次检查了配置,并查看了几个小时,但没有取得任何进展。

另一个提示是,如果我远程进入VM,将DNS名称设置为指向VM的内部IP (10.1.2.4而不是指向负载均衡器的公共IP ),并通过HTTPS在浏览器中加载站点。我不知道这意味着什么,除了看起来我的IIS配置不是问题。

任何想法都将不胜感激,我很高兴提供更多的细节。谢谢!

编辑1

在我的Azure负载均衡器中,当我删除HTTPS负载平衡规则时,添加了NAT规则,直接将443通信量重定向到我的VM之一,然后HTTPS完美地工作了。因此,它似乎是特定于我的配置,使用带有负载平衡规则的HTTPS。

EN

回答 1

Server Fault用户

发布于 2016-03-31 15:45:47

我终于解决了这个问题,希望这能节省别人几个小时的时间。问题被证明是我的负载平衡器探测设置和我的网站的IIS绑定的组合。

在VM上的IIS中,我配置了2个网站。由于这两个网站共享一个公共IP,我在IIS中设置绑定时使用了主机名。因此,基本上,我的绑定配置为将www.site.com流量发送到站点#1,将test.site.com流量发送到站点#2。我没有设置默认绑定来处理端口80的流量,除了这两个端口名。因此,如果您转到http://[internal_ip地址_或_机器_姓名],就不会因为没有绑定来处理它而加载任何页面。

我的探针是一个HTTP探针,设置为在端口80上命中/probe.html。问题是,探测很可能击中http://[internal_ip地址_或_机器_[名称]/probe.html,因为探测不知道我使用的DNS名称,而且该URL在IIS中没有处理它的绑定。所以探测器失败了,假设我所有的VM都离线了。这导致502错误。

我还不确定该怎么做。我将在IIS中添加指向生产网站的端口80的默认绑定,或者使用TCP探测。

真正让我想到循环的是,正如我前面提到的那样,HTTP工作得很好。在测试HTTP时,我一定有一个默认的IIS绑定,然后在测试HTTPS之前删除它。如果没有有效的探测,HTTP和HTTPS都会失败。有了一个有效的探测器,两者都能工作。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/767226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档