无法在端口 443 上启动 IIS 网站,尽管 netstat 显示 443 上没有任何监听

无法在端口 443 上启动 IIS 网站,尽管 netstat 显示 443 上没有任何监听

我必须将我的 IIS 网站绑定到端口 443。我的情况不允许使用其他端口。在 IIS 管理器中,我已绑定默认网站到端口 443:

站点绑定

但是当我尝试启动该网站时,它失败了:

错误对话框

但是netstat -anob没有显示在端口 443 上有任何内容被监听。SysInternals 的 TCPView 和 Windows Resource Monitor 都与 netstat 一致。

我如何才能找出正在监听端口 443 的内容并将其停止,以便我可以在 443 上运行我的网站?

我在 Windows Server 2012 R2 上使用 IIS 8.5。

2016年3月30日更新事实证明我可以毕竟使用 443 以外的端口。所以启动网站对我来说不再是问题。很抱歉浪费大家的时间;沟通出现了错误。但我将这个问题保留下来,以防其他人遇到类似的问题。当 netstat 显示没有任何东西在监听该端口时,知道如何找出阻止 IIS 在特定端口上启动的原因可能仍然很有用。

答案1

IIS 不允许您在端口 443 上启动 HTTP(没有 s)站点。

在您的屏幕截图中,在“站点绑定”窗口中,类型是http,将无法运行。


以下是需要做的事情:

  1. 从 IIS 向导创建自签名证书。(因为如果没有证书,IIS 也不允许您打开 HTTPS 网站)除非您使用 PowerShell 命令,否则将导致端口 443 正在使用的错误。

  2. “添加网站”,绑定为“https'并选择您的自签名证书。 截图详细说明了一切

  3. 网站运行完美!


补充内容供参考:

我遇到了同样的错误。和楼主你的情况一样。但考虑到 IIS 不允许你在没有证书的情况下在端口 443 上打开网站,我该如何创建网站呢?我使用的是 PowerShell 命令:

New-WebSite -Name my-website -Port 443 -HostHeader my-website -PhysicalPath "$env:systemdrive\inetpub\wwwroot\my-website"

这会为你创建一个站点,但它不会开始自动启动,如果您尝试通过 PowerShell 启动它,您将收到此错误:

Start-WebSite : Cannot create a file when that file already exists. (Exception from HRESULT: 0x800700B7)

或者如果您通过 IIS 的 GUI 手动启动它,您将收到错误 443 正在使用中,而这在现实中完全是错误的。

答案2

确保您的服务器机器上安装了 openssl。

openssl s_client -connect loalhost:443 GET / HTTP/1.1 Host: localhost

输入enter两次,您将获得 HTTP GET 响应,您可以在本地机器上找到网页列表。如果这有帮助,请告诉我。我也有一个不同的解决方法。

相关内容