【发布时间】:2017-07-11 07:08:22
【问题描述】:
我正在尝试从 Azure 应用服务(理想情况下是 Functions,但 Web 应用可以)访问第三方服务。但是,此服务托管在非标准端口上,例如https://myservice.com:445
我正在使用 System.Net.Http.HttpClient 发出 POST 请求,但始终得到 SocketException:
发送请求时出错。无法连接到远程服务器尝试以访问权限 1.2.3.4:445 禁止的方式访问套接字
代码在我的本地环境(函数模拟器或 Kestrel)上运行,但在 Azure 上失败。我尝试使用托管在常规 https 端点上的服务,例如https://myotherservice.com,通话正常。
我假设有某种出站防火墙规则阻止了第一次呼叫,但我还没有找到任何配置选项来禁用它。可能吗?很遗憾,我无法更改我需要调用的服务的端点。
【问题讨论】:
-
对出站 IP 地址和端口没有限制。您确定服务本身没有某种白名单吗?
-
@Mikhail 没有白名单,可以从 Internet 访问该服务。它确实使用自签名证书。我想知道是否出于某种原因这可能是异常的根源......
-
您能否直接或间接分享您的应用程序名称 (github.com/Azure/azure-webjobs-sdk-script/wiki/…),以便我们排除其他潜在问题?这是否始终如一地发生?还是零星的?
-
@FabioCavalcante 谢谢,即使在更改服务器证书之后,这种情况也会持续发生。这里是执行时间戳,希望对您有所帮助:2017-07-10T09:42:48.934 Function started (Id=a51aeb14-dacc-46cc-9e8b-5539301b996f)(西欧)
-
感谢您的信息。我在下面的发现中添加了答案。
标签: azure firewall azure-functions azure-web-app-service