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
错误消息的进一步讨论,包括其他原因。