1

我有一个简单的 Asp.Net Core Azure Web App,它需要向本地 Rest 服务发出http get请求。此 Rest 服务托管在 IIS 上,绑定仅为端口 443 设置。我在 Azure 中设置了一个新的混合连接并将其添加到 Web 应用程序中。在本地,我安装了混合连接管理器并输入了混合连接的连接字符串 - 现在显示为“已连接”。

问题是,在执行发出 get 请求的代码行时,会抛出以下错误:

System.AggregateException: One or more errors occurred. (No such host is known) ---> System.Net.Http.HttpRequestException: No such host is known ---> System.Net.

这里有一篇有趣的博客文章:Microsoft 博客,其中指出应该在不使用完全限定域名 (FQDN) 的情况下设置连接 - 以 organization.co.uk 为后缀的服务器名称。但是,据我所知,Rest 服务的 SSL 证书需要 FQDN - 否则会出现错误

There is a problem with this website’s security certificate 

有谁知道如何解决和解决这个问题?

4

1 回答 1

1

第一个错误可能是 DNS 问题。正如那个博客提到的

如果您使用的是完全限定域名,则需要确保它是可以在本地网络中解析的名称。(在某些情况下,客户在本地网络中运行 DNS,解析名称的是本地 DNS 服务。)

因此,如果您必须在混合连接的连接字符串中使用 FQDN。您可以使用只能由本地 DNS 服务解析的 FQDN。

或者,您可以尝试编辑主机文件,以便最好在本地网络内进行 DNS 查找。在 Rest 服务服务器主机文件(位于 中%WINDIR%\system32\drivers\etc)中添加一行,将 IIS 服务器的 IP 映射到名称。

例如:

192.168.0.50   serverFQDN

更多详细信息,请参阅

于 2019-02-26T06:15:25.227 回答