Azure Webrole的自定义负载平衡器探测未按Https终结点预期工作
我正在尝试为azure webrole设置自定义负载平衡器探测(2个实例)。我在ServiceDefinition.csdef文件中做了以下更改:Azure Webrole的自定义负载平衡器探测未按Https终结点预期工作,azure,azure-web-roles,Azure,Azure Web Roles,我正在尝试为azure webrole设置自定义负载平衡器探测(2个实例)。我在ServiceDefinition.csdef文件中做了以下更改: <ServiceDefinition> <LoadBalancerProbes> <LoadBalancerProbe name="MyLoadBalancerProbe" protocol="http" path="/api/infrastructure/healthprobe"/> &
<ServiceDefinition>
<LoadBalancerProbes>
<LoadBalancerProbe name="MyLoadBalancerProbe" protocol="http" path="/api/infrastructure/healthprobe"/>
</LoadBalancerProbes>
<WebRole>
...
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="https" port="443" certificate="mycertificate" />
<InputEndpoint name="Endpoint2" protocol="http" port="80" loadBalancerProbe="MyLoadBalancerProbe"/>
</Endpoints>
</WebRole>
</ServiceDefinition>
...
我可以在IIS日志中看到负载平衡器探测器向端点“/api/infrastructure/healthprobe”发送http get请求
当我开始从其中一个实例发送http状态代码403而不是200时,我可以看到来自浏览器的所有http请求只发送到另一个实例,但所有https请求仍然发送到两个实例
然后我更新了https的输入点
<InputEndpoint name="Endpoint1" protocol="https" port="443" certificate="mycertificate" loadBalancerProbe="MyLoadBalancerProbe"/>
然后,自定义负载平衡器探测器停止向这两个实例发送任何请求,http和https请求都显示连接超时
我的要求是,当任何一个实例将http状态403返回到本地探测器时,http和https请求都不应转到该实例。我不知道我在这里做错了什么
提前感谢LoadBalancerProbe架构不支持将“https”作为协议- 这就是探测器停止工作的原因 除了测试您的证书之外,为什么您需要两个探测器 我还没有考虑过你是否可以改变探测器的端口来测试你的https连接——也许这样可以吗
-MikkelMikkel,除非Vikas在没有分享的情况下更改了这一行,否则他的探测器在整个实验过程中都使用HTTP,而不是HTTPS。