当给 httpd 一个错误的端口号时,它会发生什么?

Rob*_*ert 1 configuration httpd port

我有一个 httpd.conf 文件,它被意外更改为服务器侦听的端口号更改为高于 65535 的数字。当 HTTPD 读取此配置文件时,它会做什么?它是否回退到端口 80?

Sco*_*ack 5

这取决于配置。您可以定义多个要侦听的端口,在这种情况下,它将尝试绑定到所有端口。将应用程序启动视为一个多步骤过程。在最基本的形式中,该过程如下所示:

  1. 读取配置文件,检查错误
  2. 尝试绑定到指定端口
  3. 监听连接

如果您给它一个不可用但存在的端口,那么 httpd 将执行第 2 步并失败。应用程序将无法完全启动,并且不会失败到端口 80。

如果您提供的是非端口,即文本、负数或高于 65535 的数字,则配置将被视为无效,并且 httpd 将在 1 处死亡。

  • 由于配置错误,它只会无法启动。它不会失败到端口 80,因为您没有将它配置为在 80 上启动。但是,即使您确实添加了第二条“侦听 80”行,错误端口错误仍会阻止启动。 (2认同)