Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure Webrole的自定义负载平衡器探测未按Https终结点预期工作_Azure_Azure Web Roles - Fatal编程技术网

Azure Webrole的自定义负载平衡器探测未按Https终结点预期工作

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"/> &

我正在尝试为azure webrole设置自定义负载平衡器探测(2个实例)。我在ServiceDefinition.csdef文件中做了以下更改:

<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连接——也许这样可以吗


-Mikkel

Mikkel,除非Vikas在没有分享的情况下更改了这一行,否则他的探测器在整个实验过程中都使用HTTP,而不是HTTPS。