0

我们已将我们的网站部署到实时网络服务器、Windows Server、IIS 7.5。网站 asp.net、.NET 4.5 我已将网站绑定配置为允许对该网站的 https 请求。
要求托管服务提供商开放 443 端口。

我可以使用 80 端口通过 Internet 访问该网站,完全没有问题。( http://mysite.com ) 但我无法通过 https ( https://mysite.com ) 访问。但是我可以从服务器本身通过 SSL 访问该站点,这意味着 SSL 配置很好。(https - localhost)

但我可以远程登录(telnet mysite.com 443),它通过远程登录响应 GET 请求。我重新检查了证书并将其更改为自签名证书,问题仍然存在。

这些请求也没有在 IIS 日志中被跟踪,似乎请求没有到达 IIS。希望在它到达服务器之前出现问题。

但是,当我以http://mysite.com:443身份访问该网站时,它可以工作。

我对这种行为有点困惑。显然 443 端口是由托管公司开放的。但是通过 HTTPS 的请求有问题,它应该向端口 443 发送请求。请帮助。

4

4 回答 4

0

您已经确定端口已打开并且主机名绑定在那里,否则http://mysite.com:443 将无法正常工作。它的 SSL 部分不起作用,因此您可以通过端口和 telnet(端口 443 但不是 SSL)直接连接,但不能通过 https 浏览器连接。它只是一个连接到需要 SSL 的 https url 的浏览器。我很确定我遇到了同样的问题,但不记得确切的原因,但它肯定与无效的 SSL 配置或 SSL 绑定有关。行为就像没有连接,什么都没有,这是不寻常的,它的错误配置导致浏览器中止连接。如果我记得什么,我会在下面更新或评论。

于 2013-06-24T23:30:44.237 回答
0

最后我找到了解决方案。问题是托管服务提供商的负载平衡器中的设置。我已经向他们提出了这个问题,他们已经解决了这个问题。无论如何,这对我来说是一个很好的学习曲线。这些知识将帮助其他人。

防火墙已经允许 HTTP/HTTPS,这就是为什么我们可以通过 telnet 并运行 GET / 并且仍然从 IP 地址的 404 页面下拉内容。

似乎有一个特定的配置文件应用于负载均衡器中的 HTTPS 配置,该配置文件仅适用于 HTTP,因此他们已禁用该配置文件。当他们为 HTTP 和 HTTPS 设置它时,他们无法测试 HTTPS,因为这样做需要 IIS 中的 SSL 证书——我们似乎已经提供了。

感谢大家对此的帮助!

于 2013-06-26T06:13:00.607 回答
0

所以您可以使用https://localhost? 您的问题在这一点上不是很清楚......您使用的确切 URL 是什么?如果是https://localhost,这实际上表明您的证书配置不正确。您似乎将此解释为它工作正常的指标,但事实并非如此。域名与证书绑定,SSL在使用该域名访问站点时才有效。因此,如果它适用于“本地主机”,则有问题。

于 2013-06-25T19:35:02.080 回答
0

因为您的站点在您访问时正在运行http://mysite.com:443,所以我几乎可以肯定您在 IIS 上创建了错误的绑定。您没有从组合框中选择 https,而是选择了默认 http。

在 youtube 上有一个关于如何做到这一点的教程:Changing IIS 7.5 Bindings by David Johnson

于 2013-06-24T10:42:41.437 回答