Apache SSL 可以工作,但是配置显示它只监听 80 而不是 443,这是怎么回事?

Apache SSL 可以工作,但是配置显示它只监听 80 而不是 443,这是怎么回事?

服务器:已安装 CentOS 6、Apache 2.2 和 OpenVPN。

httpd.conf 包含:

#Listen 443
Listen 80

网站使用 https 工作,所以我认为 OpenVPN 可能正在监听 443 并转发到 Apache(端口共享),但我找不到此配置。此外,如果是这种情况,Apache 应该在第二个端口上监听以接受转发的请求,不是吗?

我搜索了所有配置包含,没有其他 Listen 指令。我还重新启动了 Apache。

如果我尝试查看哪个进程在监听 443:

# lsof -i tcp:443

COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   1635   root    6u  IPv6 352710      0t0  TCP *:https (LISTEN)
httpd   1259 apache    6u  IPv6 352710      0t0  TCP *:https (LISTEN)
httpd   2286 apache    6u  IPv6 352710      0t0  TCP *:https (LISTEN)

最后两行重复了约 20 次,但 PID 不同。

还尝试过:

# netstat -tulpn

tcp     0    0 :::443     :::*    LISTEN  1635/httpd

以上所有内容似乎都表明 Apache 正在监听。我已验证我正在使用正确的 httpd.conf。

如果我取消注释#Listen 443 并重新启动 Apache,我会收到该端口已被使用的错误。

另外,我尝试注释掉其中一个 SSL vhost,以查看网站是否关闭,结果确实关闭了,所以我知道这是正确的 Apache(我认为排除了单独的 Apache 安装)。

我在 OpenVPN 的 as.conf 中唯一能找到的是:

# web server will use three consecutive ports starting at this
# address, for use with the OpenVPN port share feature
cs.dynamic_port_base=870

我怎样才能找出 443 上正在监听的内容,以便我可以停止它并让 Apache 正常监听?

答案1

SSL 配置(包括Listen端口 443 的指令)位于/etc/httpd/conf.d/mod_ssl.conf文件中。如果您找不到该文件,或者找不到Listen该文件中的正确指令,则说明您的系统存在问题。

相关内容