Listen 指令
| 描述: | 服务器侦听的IP地址和端口 |
|---|---|
| 句法: | Listen[IP-address:]portnumber[protocol] |
| 内容: | 服务器配置 |
| 状态: | MPM |
| 模组: | event,worker,prefork,mpm_winnt,mpm_netware,mpmt_os2 |
| 兼容性: | 的协议参数在2.1.5中加入 |
该Listen指令指示Apache httpd仅侦听特定的IP地址或端口。默认情况下,它响应所有IP接口上的请求。Listen现在是必需的指令。如果它不在配置文件中,则服务器将无法启动。这是对Apache httpd以前版本的更改。
该Listen指令告诉服务器在指定的端口或地址和端口组合上接受传入的请求。如果仅指定端口号,则服务器在所有接口上侦听给定的端口。如果提供了IP地址和端口,则服务器将侦听给定的端口和接口。
Listen可以使用多个指令来指定要侦听的地址和端口的数量。服务器将响应来自任何列出的地址和端口的请求。
例如,要使服务器接受端口80和8000上的连接,请使用:
Listen 80 Listen 8000
要使服务器接受两个指定接口和端口号上的连接,请使用
Listen 192.170.2.1:80 Listen 192.170.2.5:8000
IPv6地址必须用方括号括起来,如以下示例所示:
Listen [2001:db8::a00:20ff:fea7:ccea]:80
对于大多数配置,不需要可选的协议参数。如果未指定,https则为端口443 http的默认值,为所有其他端口的默认值。该协议用于确定哪个模块应处理请求,并通过AcceptFilter指令应用协议特定的优化。
仅在非标准端口上运行时,才需要设置协议。例如,https在端口8443上运行站点:
Listen 192.170.2.1:8443 https
错误情况
Listen相同IP地址和端口的多个指令将导致Address already in use错误消息。参见
- DNS问题
- 设置Apache HTTP Server使用哪些地址和端口
Address already in use错误消息的进一步讨论,包括其他原因。
