我无法访问已部署到Service Fabric群集的Web Api。我已经按照新的无状态Web Api模板添加了下面的http端点。我还对OwinCommunication进行了修改,如图所示here。
<Resources>
<Endpoints>
<Endpoint Name="ServiceEndpoint" Type="Input" Protocol="http" Port="8080" />
</Endpoints>
</Resources>
创建群集时,我在节点类型中添加了80的自定义端点。
我的群集的客户端连接端点是: mycluster.eastus.cloudapp.azure.com:19000
此外,我有一个负载平衡规则,通过TCP将端口80映射到后端端口8080。关联的探测器在端口80上,我已经尝试了两种协议(http和tcp),但似乎都不起作用。
在本地,我可以通过调用http://localhost:8080/health/ping访问我的Web Api上的端点,然后返回“pong”。当我尝试在服务结构群集中访问它时,会下载一个文件。我用来在云中访问它的URL是http://mycluster.eastus.cloudapp.azure.com:19000/health/ping。我尝试了其他端口(19080,80,8080),但他们要么挂起,要么给我一个400.
关于在服务架构集群中公开Web Api的问题是:
答案 0 :(得分:2)
在一些启发式方法之后找到了我的问题的答案。如果我的Web Api端点设置为端口8080,那么我需要以下内容:
至于#4,这仍然是一个谜。
答案 1 :(得分:0)
http://mycluster.eastus.cloudapp.azure.com:19000/health/ping
这是错误的。
应为http://mycluster.eastus.cloudapp.azure.com:8080/health/ping
至少这是文档所说的。因此,它应该在不接触负载均衡器的情况下工作。