如何确定端口 443 已被使用的原因?

Wil*_*mKF 3 windows-7 apache-http-server port sockets netstat

我在 Windows 7 机器上运行 Apache 2.4.10 并尝试添加 SSL 连接。端口 80 连接工作正常,我正在尝试添加端口 443。添加 httpd.conf 后,Listen 443它无法启动:

c:\Apache24\bin> httpd.exe -k start
(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted.  : AH00072: make_sock: could not bind to address [::]:443
(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted.  : AH00072: make_sock: could not bind to address 0.0.0.0:443
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs
Run Code Online (Sandbox Code Playgroud)

netstat最初使用检查显示 Chrome 使用端口 443,因此我退出 Chrome,超时后,端口现在使用 为空netstat,但服务器在Listen 443存在时仍然无法启动:

c:\Apache24\bin> netstat -ano | grep 443
Run Code Online (Sandbox Code Playgroud)

如何确定谁已经在端口 443 上并阻止 Apache 服务器使用该端口?

Wil*_*mKF 10

问题似乎是 Apache 与自身发生冲突,因为有两个Listen 443指令,一个是我添加的,另一个是通过 include:

<IfModule ssl_module>
#Include conf/extra/httpd-ssl.conf
Include conf/extra/httpd-sni.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
Run Code Online (Sandbox Code Playgroud)

conf/extra/httpd-ssl.conf出现冲突的行中:

Listen 443 https
Run Code Online (Sandbox Code Playgroud)

删除Listen 443我添加的解决了这个问题。

  • 这对我也有用,我还添加了一个 Listen 443 认为它是需要的,但 extra\httpd-ssl.conf 已经有了它 (2认同)