TLDR:通过https的Web服务调用在另一台计算机上工作,但在本地服务器(本身(上,它提供";系统安全身份验证。AuthenticationException,系统。网WebException根据验证过程"远程证书无效";。
我有一个网站(编辑:网站本身不是在https上,而是在http上。它是通过通过IIS绑定绑定到网站的dns名称访问的。(和一个网络服务,这两个服务都运行在服务器上,主机名为,ip地址为。(我可能不被允许透露实际的姓名和地址(
公司CACA颁发了证书,具有以下属性(以及其他属性(:
Issuer: CA
Subject: CN = hostname
Subject Alternative Name: IP Address = ip-address
我删除了IIS中用于Web服务的http绑定,只留下https。
类型 | 主机名 | 端口IP地址 | >绑定信息[/tr>|
---|---|---|---|
https | 443 | ip地址 |
所以这就是我们最终的做法:
- 在企业局域网内注册了一个dns名称
- 为该特定名称颁发了一个新证书,但没有将其绑定到服务器的ip地址
- 在IIS中添加了新的dns名称作为主机名,并添加了新证书
- 已将连接字符串更改为https://dns名称/服务.asmx
它很管用!
我最好的猜测是@zaitsman说得对,为什么它不能在服务器上工作,而是在我的电脑上工作
您的证书是否也有127.0.0.1和::1地址?因为最有可能>当您通过web调用self-underlying TCP堆栈时,只会在DNS>决议