我在外部联系我的无状态服务时收到“FABRIC_E_INVALID_ADDRESS”400错误请求。
我完全按照本文中的说法设置了反向代理:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reverseproxy
我正在与文档中解释的相同方式联系该服务,其中包括:
http://clustername.com:19008/MyApp/MyService
我相当有信心反向代理正在按预期工作,因为端口19008从服务结构返回响应。另外:
因此它看到该服务存在,但返回无效地址400错误。
我可以利用任何类型的诊断吗?这个问题的主要问题是我必须要做的就是400 FABRIC_E_INVALID_ADDRESS,除了没有来自MSDN的描述的错误代码列表之外,它不会产生谷歌搜索结果。响应标头中没有其他内容。
答案 0 :(得分:0)
我遇到了同样的错误,但是当我将UriScheme和Protocol属性添加到ServiceManifest.xml端点部分的端点时,它开始起作用了:
<Endpoint Name="Test1TypeEndpoint" UriScheme="http" Protocol="http" />
当我使用Guest Containers进行部署时,只有在ApplicationManifest.xml的ServiceManifestImport部分添加一个Policiy,说明docker容器公开的端口时,它才会起作用:
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="Test1Pkg" ServiceManifestVersion="1.0.0" />
<ConfigOverrides />
<Policies>
<ContainerHostPolicies CodePackageRef="Code">
<PortBinding ContainerPort="80" EndpointRef="Test1TypeEndpoint" />
</ContainerHostPolicies>
</Policies>
</ServiceManifestImport>
CodePackageRef属性必须与ServiceManifest.xml的CodePackage名称匹配:
<CodePackage Name="Code" Version="1.0.0">