gpt4 book ai didi

visual-studio - Visual Studio 无法通过 Apache 反向代理在 Windows Vista 或更高版本中添加 WSDL 资源

转载 作者:太空宇宙 更新时间:2023-11-03 13:43:34 24 4
gpt4 key购买 nike

我在这方面束手无策。

仅供引用,我从事基础设施工作,而不是 .net 开发,所以我对 WCF 知之甚少,对 Visual Studio 作为环境几乎一无所知,但我认为这不是问题所在。

我们有一个 WCF 服务在我们内部网络上的几个 IIS 7.5 服务器上运行。这通过 Fedora 11 上 Apache 2.2.15 上的反向代理暴露给外界。反向代理处理 IIS 服务器和 SSL 之间的负载平衡。

WCF 服务配置为使用传输级安全性,并且 IIS 服务器具有自签名 SSL 证书。反向代理不对 IIS 服务器进行身份验证,而我们首先在 IIS 服务器上使用 SSL 的唯一原因是 WSDL 将提供正确的位置 URL。

我们认为我们已经完美地工作了,但是有一个烦人但至关重要的异常:在运行 Windows Vista 或更高版本的机器上,WSDL 无法作为服务引用添加到 Visual Studio 中。在 XP 机器上,它没问题,但稍后会抛出以下错误:

There was an error downloading '[URL]'. The operation has timed out Metadata contains a reference that cannot be resolved: '[URL]'. An error occurred while making the HTTP request to [URL]. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server. The underlying connection was closed: An unexpected error occurred on a send. Received an unexpected EOF or 0 bytes from the transport stream. If the service is defined in the current solution, try building the solution and adding the service reference again.

可以在任何机器上通过浏览器或常规 SOAP 访问 WSDL,并且没有任何 SSL 问题。只是 Visual Studio 有问题。

初步谷歌显示可能是 VS 使用的密码套件有问题,这表明 Vista 或更高版本上的 VS 默认会尝试在 HTTPS 连接中使用 TLS1.0,如果中间设备不支持协议(protocol),它只会丢弃请求。不过,情况绝对不是这样。反向代理明确首选 TLS1.0,即使通过浏览器查看 WSDL,它也会标记为使用 TLS1.0 进行连接。

将代理指向不同 IIS 服务器上其他正常运行的 WCF 服务后,出现了同样的错误,导致我假设它围绕反向代理配置展开。问题是它似乎与另一个在别处执行相同任务的反向代理的配置相同。

这大概是关于 VS 如何在不同操作系统上建立 HTTPS 连接的一些传输级别问题,但我对它的了解还不够多,无法冒险猜测它可能是什么。有人有什么建议吗?

最佳答案

嗯,这很尴尬。

我确信有一些不成文的宇宙法则让我找到了一个非常简单的解决方案,解决了我在 StackOverflow 上发布问题后大约十分钟后一直在努力解决的问题。

虚拟主机配置中的 ServerName 指令与 URL 不匹配。它确实与证书匹配(它有一个主题备用名称,因此它没有抛出任何 SSL 警告),但这不是我访问它时使用的名称。

我假设有一些 VS 使用的 TLS1.0 扩展来强制执行此操作,浏览器或 SOAP 客户端不使用它。对于使用具有主题备用名称的证书尝试此操作的任何其他人来说,这可能是有用的信息。否则就不会出现。

关于visual-studio - Visual Studio 无法通过 Apache 反向代理在 Windows Vista 或更高版本中添加 WSDL 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5962975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com