是的,Nginx 允许多个 server
块监听同一个端口。这通常用于基于主机名或基于请求的不同配置。例如,你可以在 Nginx 配置中设置多个 server
块,每个块都指定相同的端口(如 80 或 443),但使用不同的 server_name
来区分不同的虚拟主机。
以下是一个简单示例:
http {
server {
listen 80;
server_name example.com;
location / {
# 配置...
}
}
server {
listen 80;
server_name another-example.com;
location / {
# 配置...
}
}
}
在这个示例中,两个服务器都监听端口 80,但分别为 example.com
和 another-example.com
提供服务。Nginx 会根据请求中的 Host 头来决定将请求转发到哪个服务器块。
请注意,如果你不指定 server_name
,则第一个匹配的 server
块会处理所有未明确匹配的请求。
内容由零声教学AI助手提供,问题来源于学员提问