具有SSL的IIS 7.5站点失败,没有SSL的站点工作

时间:2014-01-26 03:37:51

标签: ssl https iis-7.5

我正在使用ASP.Net MVC 4框架创建网站。我在使用SSL(或任何类型的基本)网站时遇到困难。

我为相关域购买了SSL证书(我们只称其为“example.com”)。我已经进入IIS,并为端口443配置了默认网站的https绑定。如果我打开网站的非SSL版本,它可以工作。 (在这种情况下,该站点是库存,基本的IIS启动页面)。如果我尝试通过https访问该站点,则会超时并无法显示该页面。

我已经使用netsh验证了端口443是否已打开,并且没有其他任何内容正在监听端口。我已经仔细检查以确保Windows防火墙允许端口443上的流量,而且确实如此。如果我启动Wireshark并侦听端口443上的流量,然后尝试访问该网页,我会得到以下信息:

enter image description here

我不是解释这些结果的专家,但看起来某些东西仍然阻止了出站连接。同样,常规的http网页加载正常,但同一页面的https版本超时。

我正在努力解决这个问题。任何想法可能会在这里发生什么?

2 个答案:

答案 0 :(得分:0)

在去往服务器的路上,某些东西阻塞了端口443上的连接,或者某些东西阻止了响应。从wireshark屏幕截图中我看到服务器和客户端位于不同的网络中,因此显然中间至少有一个路由器,也可能是其他防火墙。您可以使用traceroute或tracepath检查请求的移动距离(例如,在一次尝试中指定端口80,在另一次尝试中指定端口443并进行比较)以及过滤设备可能位于何处。

答案 1 :(得分:0)

这需要一些挖掘,但我终于明白了。

默认情况下,似乎会阻止对Amazon EC2实例的https访问。这解释了为什么我在IIS中所做的并不重要,它不起作用。这也可以解释为什么拥有正确的绑定,在防火墙上打开正确的端口,以及我尝试的其他任何东西都不起作用。它与亚马逊有关,以及他们如何在他们的最终配置东西。

要在端口443上启用流量,我执行了以下操作:

  1. 在亚马逊网络控制台(https://console.aws.amazon.com/ec2)中,点击左侧的“安全组”链接
  2. 在您的实例正在运行的安全组下,设置新的入站规则以允许来自任何IP的HTTPS流量。
  3. 设置新的出站规则,以允许HTTPS流量到任何IP。
  4. 没有必要删除/重新创建/重新启动实例。一旦我应用了这些规则,我就尝试在我的本地计算机上浏览器中点击https网站,这样就可以了。

    斯蒂芬,谢谢你的帮助。

    (相关:HTTPS setup in Amazon EC2