2014-01-26 32 views
0

我正在使用ASP.Net MVC 4框架创建网站。我很难让SSL与那个(或任何基本的)网站一起工作。带SSL的IIS 7.5站点失败,没有SSL的站点工作

我为该域名购买了SSL证书(我们只是称其为“example.com”)。我进入了IIS,并为端口443配置了默认网站的https绑定。如果我打开该网站的非SSL版本,它就会起作用。 (在这种情况下,该网站是股票,基本的IIS起始页面)。如果我尝试通过https访问该站点,则超时并且无法显示该页面。

我已经使用netsh验证过端口443处于打开状态,并且没有任何其他端口正在侦听。我仔细检查过,以确保Windows防火墙允许端口443上的流量,并且是。如果我火了Wireshark的,并听取了交通上的端口443,然后尝试访问该网页时,我得到如下:

enter image description here

我不是一个专家在解释这些结果,但它似乎那东西仍然阻塞出站连接。同样,普通的http网页加载正常,但同一页面的https版本超时。

我在想我的智慧结束试图弄清楚这一点。任何想法可能会发生在这里?

回答

0

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

默认情况下,阻止https访问Amazon EC2实例。这就解释了为什么我在IIS中做什么并不重要,这是行不通的。这也可以解释为什么有正确的绑定,在防火墙上打开正确的端口,以及我尝试过的其他任何操作都无法正常工作。它必须与亚马逊,以及他们如何配置他们的东西。

要在端口443启用的交通,我做了以下内容:

  1. 在亚马逊Web控制台(https://console.aws.amazon.com/ec2),点击左边
  2. 安全组链接下的安全组您的实例上正在运行,请设置新的入站规则以允许来自任何IP的HTTPS流量。
  3. 设置新的出站规则以允许到任何IP的HTTPS流量。

不需要删除/重新创建/重新启动实例。一旦我应用了这些规则,我就试着在我的本地计算机上浏览https网站,并且它工作正常。

Steffen,谢谢你的帮助。

(相关:HTTPS setup in Amazon EC2

0

在通往服务器的途中阻塞了端口443上的连接或阻塞了响应。从wireshark屏幕截图中可以看出,服务器和客户端位于不同的网络中,所以显然至少有一个路由器,也可能是其他防火墙。您可以使用traceroute或tracepath检查请求传输的距离(例如,在一次尝试中指定端口80,在另一次尝试中进行端口443比较)以及过滤设备的可能位置。

+0

只是踢,我暂时关闭了服务器上的防火墙。这似乎没有效果。 –

+0

如果我尝试在本地服务器上“telnet localhost 443”,我收到一条消息,指出'连接到本地主机...无法打开与主机的连接,端口:443:连接失败'。这让我觉得这是一些配置设置在服务器上的问题。 –

+0

哦,我希望你在发布之前检查服务器是否在本地运行。如果服务器没有运行在端口443上,您将无法连接到它,当然:) –